Class: SpreeCmCommissioner::UserIdTokenChecker

Inherits:
BaseInteractor show all
Defined in:
app/interactors/spree_cm_commissioner/user_id_token_checker.rb

Instance Method Summary collapse

Instance Method Details

#callObject

expects:

context.id_token
context.tenant_id (optional)


7
8
9
10
11
12
13
14
15
# File 'app/interactors/spree_cm_commissioner/user_id_token_checker.rb', line 7

def call
  firebase_id_token_context = SpreeCmCommissioner::FirebaseIdTokenProvider.call(id_token: context.id_token)

  if firebase_id_token_context.success?
    validate_user_by_provider(firebase_id_token_context.provider)
  else
    context.fail!(message: firebase_id_token_context.message)
  end
end

#validate_user_by_provider(provider) ⇒ Object

:identity_type, :sub, :tenant_id



18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'app/interactors/spree_cm_commissioner/user_id_token_checker.rb', line 18

def validate_user_by_provider(provider)
  identity_checker = SpreeCmCommissioner::UserIdentityChecker.call(
    identity_type: provider[:identity_type],
    sub: provider[:sub],
    tenant_id: context.tenant_id
  )

  if identity_checker.success?
    context.user = identity_checker.user
  else
    context.fail!(message: identity_checker.message)
  end
end