Class OAuth2::Strategy::Assertion
In: lib/oauth2/strategy/assertion.rb
Parent: Base

The Client Assertion Strategy

@see tools.ietf.org/html/draft-ietf-oauth-v2-10#section-4.1.3

Sample usage:

  client = OAuth2::Client.new(client_id, client_secret,
                              :site => 'http://localhost:8080')

  params = {:hmac_secret => "some secret",
            # or :private_key => "private key string",
            :iss => "http://localhost:3001",
            :prn => "me@here.com",
            :exp => Time.now.utc.to_i + 3600}

  access = client.assertion.get_token(params)
  access.token                 # actual access_token string
  access.get("/api/stuff")     # making api calls with access token in header

Methods

Public Instance methods

Not used for this strategy

@raise [NotImplementedError]

Retrieve an access token given the specified client.

@param [Hash] params assertion params pass either :hmac_secret or :private_key, but not both.

  params :hmac_secret, secret string.
  params :private_key, private key string.

  params :iss, issuer
  params :aud, audience, optional
  params :prn, principal, current user
  params :exp, expired at, in seconds, like Time.now.utc.to_i + 3600

@param [Hash] opts options

[Validate]