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

#client_params, #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
# File 'lib/oauth2/strategy/auth_code.rb', line 27

def get_token(code, params = {}, opts = {})
  params = {'grant_type' => 'authorization_code', 'code' => code}.merge(client_params).merge(params)
  @client.get_token(params, opts)
end