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

Methods inherited from Base

#client_params, #initialize

Constructor Details

This class inherits a constructor from OAuth2::Strategy::Base

Instance Method Details

#authorize_urlObject

Not used for this strategy

Raises:

  • (NotImplementedError)


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

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



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

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(client_params).merge(params)
  @client.get_token(params, opts)
end