Class: OAuth2::Strategy::TokenExchange

Inherits:
Base
  • Object
show all
Defined in:
lib/oauth2/strategy/token_exchange.rb

Overview

The Token Exchange strategy

Constant Summary collapse

GRANT_TYPE =
'urn:ietf:params:oauth:grant-type:token-exchange'

Instance Method Summary collapse

Instance Method Details

#authorize_urlObject

Not used for this strategy

Raises:

  • (NotImplementedError)


13
14
15
# File 'lib/oauth2/strategy/token_exchange.rb', line 13

def authorize_url
  fail(NotImplementedError, 'The authorization endpoint is not used in this strategy')
end

#get_token(actor_token, actor_token_type, subject_token, subject_token_type, params = {}, opts = {}) ⇒ Object

Retrieve an access token given the specified End User username and password.

Parameters:

  • username (String)

    the End User username

  • password (String)

    the End User password

  • params (Hash) (defaults to: {})

    additional params



22
23
24
25
26
27
28
29
30
# File 'lib/oauth2/strategy/token_exchange.rb', line 22

def get_token(actor_token, actor_token_type, subject_token, subject_token_type, params = {}, opts = {})
  params = {'grant_type'          => GRANT_TYPE,
            'actor_token'         => actor_token,
            'actor_token_type'    => actor_token_type,
            'subject_token'       => subject_token,
            'subject_token_type'  => subject_token_type
  }.merge(params)
  @client.get_token(params, opts)
end