Class: StytchB2B::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/stytch/b2b_client.rb

Constant Summary collapse

ENVIRONMENTS =
%i[live test].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(project_id:, secret:, env: nil, fraud_env: nil, &block) ⇒ Client

Returns a new instance of Client.



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/stytch/b2b_client.rb', line 26

def initialize(project_id:, secret:, env: nil, fraud_env: nil, &block)
  @api_host = api_host(env, project_id)
  @fraud_api_host = fraud_api_host(fraud_env)
  @project_id = project_id
  @secret = secret
  @is_b2b_client = true

  create_connection(&block)

  rbac = StytchB2B::RBAC.new(@connection)
  @policy_cache = StytchB2B::PolicyCache.new(rbac_client: rbac)

  @discovery = StytchB2B::Discovery.new(@connection)
  @fraud = Stytch::Fraud.new(@fraud_connection)
  @m2m = Stytch::M2M.new(@connection, @project_id, @is_b2b_client)
  @magic_links = StytchB2B::MagicLinks.new(@connection)
  @oauth = StytchB2B::OAuth.new(@connection)
  @otps = StytchB2B::OTPs.new(@connection)
  @organizations = StytchB2B::Organizations.new(@connection)
  @passwords = StytchB2B::Passwords.new(@connection)
  @project = Stytch::Project.new(@connection)
  @rbac = StytchB2B::RBAC.new(@connection)
  @recovery_codes = StytchB2B::RecoveryCodes.new(@connection)
  @scim = StytchB2B::SCIM.new(@connection)
  @sso = StytchB2B::SSO.new(@connection)
  @sessions = StytchB2B::Sessions.new(@connection, @project_id, @policy_cache)
  @totps = StytchB2B::TOTPs.new(@connection)
end

Instance Attribute Details

#discoveryObject (readonly)

Returns the value of attribute discovery.



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

def discovery
  @discovery
end

#fraudObject (readonly)

Returns the value of attribute fraud.



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

def fraud
  @fraud
end

#m2mObject (readonly)

Returns the value of attribute m2m.



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

def m2m
  @m2m
end

Returns the value of attribute magic_links.



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

def magic_links
  @magic_links
end

#oauthObject (readonly)

Returns the value of attribute oauth.



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

def oauth
  @oauth
end

#organizationsObject (readonly)

Returns the value of attribute organizations.



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

def organizations
  @organizations
end

#otpsObject (readonly)

Returns the value of attribute otps.



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

def otps
  @otps
end

#passwordsObject (readonly)

Returns the value of attribute passwords.



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

def passwords
  @passwords
end

#projectObject (readonly)

Returns the value of attribute project.



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

def project
  @project
end

#rbacObject (readonly)

Returns the value of attribute rbac.



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

def rbac
  @rbac
end

#recovery_codesObject (readonly)

Returns the value of attribute recovery_codes.



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

def recovery_codes
  @recovery_codes
end

#scimObject (readonly)

Returns the value of attribute scim.



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

def scim
  @scim
end

#sessionsObject (readonly)

Returns the value of attribute sessions.



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

def sessions
  @sessions
end

#ssoObject (readonly)

Returns the value of attribute sso.



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

def sso
  @sso
end

#totpsObject (readonly)

Returns the value of attribute totps.



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

def totps
  @totps
end