class OmniAuth::Strategies::KeycloakOpenID

Constants

DEFAULT_RESPONSE_TYPE
DEFAULT_SCOPE

Public Instance Methods

authorize_params() click to toggle source
Calls superclass method
# File lib/omniauth/strategies/keycloak-openid.rb, line 39
def authorize_params
  super.tap do |params|
    params[:scope] ||= DEFAULT_SCOPE
    params[:response_type] ||= DEFAULT_RESPONSE_TYPE
  end
end
build_access_token() click to toggle source
# File lib/omniauth/strategies/keycloak-openid.rb, line 46
def build_access_token
  if options[:grant_type] == 'auth_code'
    verifier = request.params['code']
    client.auth_code.get_token(verifier, get_token_options(callback_url), deep_symbolize(options.auth_token_params))
  else
    client.password.get_token(request.params[:username],
                              request.params[:password],
                              scope: DEFAULT_SCOPE)
  end
end
callback_url() click to toggle source
# File lib/omniauth/strategies/keycloak-openid.rb, line 31
def callback_url
  options[:redirect_uri] || (full_host + script_name + callback_path)
end
raw_info() click to toggle source
# File lib/omniauth/strategies/keycloak-openid.rb, line 35
def raw_info
  @raw_info ||= load_identity
end

Private Instance Methods

get_token_options(redirect_uri) click to toggle source
# File lib/omniauth/strategies/keycloak-openid.rb, line 66
def get_token_options(redirect_uri)
  { redirect_uri: redirect_uri }.merge(token_params.to_hash(symbolize_keys: true))
end
load_identity() click to toggle source
# File lib/omniauth/strategies/keycloak-openid.rb, line 59
def load_identity
  access_token.options[:mode] = :header
  access_token.options[:param_name] = :access_token
  access_token.options[:grant_type] = :authorization_code
  access_token.get(options[:userinfo_url]).parsed || {}
end
prune!(hash) click to toggle source
# File lib/omniauth/strategies/keycloak-openid.rb, line 70
def prune!(hash)
  hash.delete_if do |_, value|
    prune!(value) if value.is_a?(Hash)
    value.nil? || (value.respond_to?(:empty?) && value.empty?)
  end
end