class OmniAuth::Strategies::KeycloakOpenID
Constants
- DEFAULT_RESPONSE_TYPE
- DEFAULT_SCOPE
Public Instance Methods
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