Module: WorkOS

Defined in:
lib/workos.rb,
lib/workos/mfa.rb,
lib/workos/sso.rb,
lib/workos/role.rb,
lib/workos/user.rb,
lib/workos/cache.rb,
lib/workos/event.rb,
lib/workos/types.rb,
lib/workos/client.rb,
lib/workos/errors.rb,
lib/workos/events.rb,
lib/workos/factor.rb,
lib/workos/portal.rb,
lib/workos/profile.rb,
lib/workos/session.rb,
lib/workos/version.rb,
lib/workos/webhook.rb,
lib/workos/widgets.rb,
lib/workos/webhooks.rb,
lib/workos/challenge.rb,
lib/workos/directory.rb,
lib/workos/audit_logs.rb,
lib/workos/connection.rb,
lib/workos/invitation.rb,
lib/workos/magic_auth.rb,
lib/workos/deprecation.rb,
lib/workos/impersonator.rb,
lib/workos/organization.rb,
lib/workos/passwordless.rb,
lib/workos/types/intent.rb,
lib/workos/configuration.rb,
lib/workos/hash_provider.rb,
lib/workos/organizations.rb,
lib/workos/user_response.rb,
lib/workos/directory_sync.rb,
lib/workos/directory_user.rb,
lib/workos/password_reset.rb,
lib/workos/types/provider.rb,
lib/workos/user_and_token.rb,
lib/workos/directory_group.rb,
lib/workos/user_management.rb,
lib/workos/audit_log_export.rb,
lib/workos/verify_challenge.rb,
lib/workos/profile_and_token.rb,
lib/workos/types/list_struct.rb,
lib/workos/email_verification.rb,
lib/workos/types/widget_scope.rb,
lib/workos/authentication_response.rb,
lib/workos/deprecated_hash_wrapper.rb,
lib/workos/organization_membership.rb,
lib/workos/refresh_authentication_response.rb,
lib/workos/types/passwordless_session_struct.rb,
lib/workos/authentication_factor_and_challenge.rb

Overview

Use the WorkOS module to authenticate your requests to the WorkOS API. The gem will read your API key automatically from the ENV var ‘WORKOS_API_KEY`. Alternatively, you can set the key yourself with `WorkOS.configure { |config| config.key = [your api key] }` somewhere in the load path of your application, such as an initializer.

Defined Under Namespace

Modules: AuditLogs, Cache, Client, Deprecation, DirectorySync, Events, HashProvider, MFA, Organizations, Passwordless, Portal, SSO, Types, UserManagement, Webhooks, Widgets Classes: APIError, AuditLogExport, AuthenticationError, AuthenticationFactorAndChallenge, AuthenticationResponse, Challenge, Configuration, Connection, DeprecatedHashWrapper, Directory, DirectoryGroup, DirectoryUser, EmailVerification, Event, Factor, ForbiddenRequestError, Impersonator, InvalidRequestError, Invitation, MagicAuth, NotFoundError, Organization, OrganizationMembership, PasswordReset, Profile, ProfileAndToken, RateLimitExceededError, RefreshAuthenticationResponse, Role, Session, SignatureVerificationError, TimeoutError, UnprocessableEntityError, User, UserAndToken, UserResponse, VerifyChallenge, Webhook, WorkOSError

Constant Summary collapse

VERSION =
'5.17.0'

Class Method Summary collapse

Class Method Details

.configObject



24
25
26
# File 'lib/workos.rb', line 24

def self.config
  @config ||= default_config
end

.configure {|config| ... } ⇒ Object

Yields:



28
29
30
# File 'lib/workos.rb', line 28

def self.configure
  yield(config)
end

.default_configObject



15
16
17
18
19
20
21
22
# File 'lib/workos.rb', line 15

def self.default_config
  Configuration.new.tap do |config|
    config.api_hostname = ENV['WORKOS_API_HOSTNAME'] || 'api.workos.com'
    # Remove WORKOS_KEY at some point in the future. Keeping it here now for
    # backwards compatibility.
    config.key = ENV['WORKOS_API_KEY'] || ENV['WORKOS_KEY']
  end
end

.keyObject



38
39
40
41
42
# File 'lib/workos.rb', line 38

def self.key
  warn '`WorkOS.key` is deprecated. Use `WorkOS.configure` instead.'

  config.key
end

.key=(value) ⇒ Object



32
33
34
35
36
# File 'lib/workos.rb', line 32

def self.key=(value)
  warn '`WorkOS.key=` is deprecated. Use `WorkOS.configure` instead.'

  config.key = value
end