Class: OAuth2::Strategy::AuthCode

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

Overview

The Authorization Code Strategy

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

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

Instance Method Details

#authorize_params(params = {}) ⇒ Object

The required query parameters for the authorize URL

Parameters:

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

    additional query parameters


10
11
12
# File 'lib/oauth2/strategy/auth_code.rb', line 10

def authorize_params(params = {})
  params.merge('response_type' => 'code', 'client_id' => @client.id)
end

#authorize_url(params = {}) ⇒ Object

The authorization URL endpoint of the provider

Parameters:

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

    additional query parameters for the URL


17
18
19
# File 'lib/oauth2/strategy/auth_code.rb', line 17

def authorize_url(params = {})
  @client.authorize_url(authorize_params.merge(params))
end

#get_token(code, params = {}, opts = {}) ⇒ Object

Note:

that you must also provide a :redirect_uri with most OAuth 2.0 providers

Retrieve an access token given the specified validation code.

Parameters:

  • code (String)

    The Authorization Code value

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

    additional params

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

    options


27
28
29
30
31
32
33
34
# File 'lib/oauth2/strategy/auth_code.rb', line 27

def get_token(code, params = {}, opts = {})
  params = {'grant_type' => 'authorization_code', 'code' => code}.merge(@client.redirection_params).merge(params)
  params.keys.each do |key|
    params[key.to_s] = params.delete(key) if key.is_a?(Symbol)
  end

  @client.get_token(params, opts)
end