Module: Keycardai::OAuth::ExchangeTokens

Defined in:
lib/keycardai/oauth/exchange_tokens.rb

Overview

Internals of exchange_tokens_for_resources. Not public API.

Class Method Summary collapse

Class Method Details

.exchange_one(client:, resource:, subject_token:, user_identifier:, scope:, issuer:) ⇒ Object



44
45
46
47
48
49
50
# File 'lib/keycardai/oauth/exchange_tokens.rb', line 44

def exchange_one(client:, resource:, subject_token:, user_identifier:, scope:, issuer:)
  if user_identifier
    client.impersonate(user_identifier: user_identifier, resource: resource, scope: scope, issuer: issuer)
  else
    client.exchange_token(subject_token: subject_token, resource: resource, scope: scope, issuer: issuer)
  end
end