Class: OAuth2::Strategy::ClientCredentials

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

Overview

The Client Credentials 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_urlObject

Not used for this strategy

Raises:

  • (NotImplementedError)


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

def authorize_url
  raise NotImplementedError, "The authorization endpoint is not used in this strategy"
end

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

Retrieve an access token given the specified client.

Parameters:

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

    additional params

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

    options



20
21
22
23
24
25
# File 'lib/oauth2/strategy/client_credentials.rb', line 20

def get_token(params={}, opts={})
  request_body = opts.delete('auth_scheme') == 'request_body'
  params.merge!('grant_type' => 'client_credentials')
  params.merge!(request_body ? client_params : {:headers => {'Authorization' => HTTPAuth::Basic.pack_authorization(client_params['client_id'], client_params['client_secret'])}})
  @client.get_token(params, opts.merge('refresh_token' => nil))
end