Class: OmniAuth::Strategies::KeycloakOpenID

Inherits:
OAuth2
  • Object
show all
Defined in:
lib/omniauth/strategies/keycloak-openid.rb

Constant Summary collapse

DEFAULT_SCOPE =
"openid profile email"
DEFAULT_RESPONSE_TYPE =
"code"

Instance Method Summary collapse

Instance Method Details

#authorize_paramsObject



39
40
41
42
43
44
# 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_tokenObject



46
47
48
49
50
51
52
53
54
55
# 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_urlObject



31
32
33
# File 'lib/omniauth/strategies/keycloak-openid.rb', line 31

def callback_url
  options[:redirect_uri] || (full_host + script_name + callback_path)
end

#raw_infoObject



35
36
37
# File 'lib/omniauth/strategies/keycloak-openid.rb', line 35

def raw_info
  @raw_info ||= load_identity
end