class OpenIDConnect::Client

Public Class Methods

new(attributes = {}) click to toggle source
Calls superclass method
# File lib/openid_connect/client.rb, line 5
def initialize(attributes = {})
  super attributes
  self.userinfo_endpoint ||= '/userinfo'
end

Public Instance Methods

authorization_uri(params = {}) click to toggle source
Calls superclass method
# File lib/openid_connect/client.rb, line 10
def authorization_uri(params = {})
  params[:scope] = setup_required_scope params[:scope]
  params[:prompt] = Array(params[:prompt]).join(' ')
  super
end
userinfo_uri() click to toggle source
# File lib/openid_connect/client.rb, line 16
def userinfo_uri
  absolute_uri_for userinfo_endpoint
end

Private Instance Methods

handle_success_response(response) click to toggle source
# File lib/openid_connect/client.rb, line 28
def handle_success_response(response)
  token_hash = response.body.with_indifferent_access
  token_type = (@forced_token_type || token_hash[:token_type]).try(:downcase)
  case token_type
  when 'bearer'
    AccessToken.new token_hash.merge(client: self)
  else
    raise Exception.new("Unexpected Token Type: #{token_type}")
  end
end
setup_required_scope(scopes) click to toggle source
# File lib/openid_connect/client.rb, line 22
def setup_required_scope(scopes)
  _scopes_ = Array(scopes).join(' ').split(' ')
  _scopes_ << 'openid' unless _scopes_.include?('openid')
  _scopes_
end