class Keyrod::OIDCClient
Attributes
client_id[R]
client_secret[R]
oidc_site[R]
refresh_token[R]
ssl[R]
Public Class Methods
new()
click to toggle source
# File lib/keyrod/oidc_client.rb, line 8 def initialize @oidc_site = Keyrod::Settings[:'oidc-site'] @refresh_token = Keyrod::Settings[:'refresh-token'] @client_id = Keyrod::Settings[:'client-id'] @client_secret = Keyrod::Settings[:'client-secret'] @ssl = Keyrod::Settings[:ssl] end
Public Instance Methods
access_token()
click to toggle source
# File lib/keyrod/oidc_client.rb, line 16 def access_token conn = Faraday.new(oidc_site, ssl: ssl, params: params) logger.debug "access_token: Sending request with params #{conn.params}" response = conn.post logger.debug "Received response with code #{response.status} and body #{response.body}" raise Keyrod::Errors::ResponseError, "Response from OIDC server was #{response.status}" unless response.success? JSON.parse(response.body, symbolize_names: true)[:access_token] end
Private Instance Methods
params()
click to toggle source
# File lib/keyrod/oidc_client.rb, line 29 def params { grant_type: 'refresh_token', client_id: client_id, client_secret: client_secret, refresh_token: refresh_token, scope: 'openid profile' } end