Class: OpenIDTokenProxy::Client
- Inherits:
-
Object
- Object
- OpenIDTokenProxy::Client
- Defined in:
- lib/openid_token_proxy/client.rb
Defined Under Namespace
Classes: AuthCodeError, RefreshTokenError
Instance Attribute Summary collapse
-
#config ⇒ Object
Returns the value of attribute config.
Instance Method Summary collapse
- #authorization_uri ⇒ Object
-
#initialize(config = OpenIDTokenProxy.config) ⇒ Client
constructor
A new instance of Client.
- #new_client ⇒ Object
-
#retrieve_token!(params) ⇒ Object
Retrieves a token for given authorization code or refresh token.
Constructor Details
#initialize(config = OpenIDTokenProxy.config) ⇒ Client
Returns a new instance of Client.
5 6 7 |
# File 'lib/openid_token_proxy/client.rb', line 5 def initialize(config = OpenIDTokenProxy.config) @config = config end |
Instance Attribute Details
#config ⇒ Object
Returns the value of attribute config.
3 4 5 |
# File 'lib/openid_token_proxy/client.rb', line 3 def config @config end |
Instance Method Details
#authorization_uri ⇒ Object
9 10 11 12 13 14 15 |
# File 'lib/openid_token_proxy/client.rb', line 9 def config. || new_client.( domain_hint: config.domain_hint, prompt: config.prompt, resource: config.resource ) end |
#new_client ⇒ Object
37 38 39 40 41 42 43 44 45 46 |
# File 'lib/openid_token_proxy/client.rb', line 37 def new_client OpenIDConnect::Client.new( identifier: config.client_id, secret: config.client_secret, authorization_endpoint: config., token_endpoint: config.token_endpoint, userinfo_endpoint: config.userinfo_endpoint, redirect_uri: config.redirect_uri ) end |
#retrieve_token!(params) ⇒ Object
Retrieves a token for given authorization code or refresh token
24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/openid_token_proxy/client.rb', line 24 def retrieve_token!(params) client = new_client client. = params[:auth_code] if params[:auth_code] client.refresh_token = params[:refresh_token] if params[:refresh_token] response = client.access_token!(:query_string) token = Token.decode!(response.access_token) token.refresh_token = response.refresh_token token rescue Rack::OAuth2::Client::Error => e raise AuthCodeError.new(e.) if params[:auth_code] raise RefreshTokenError.new(e.) if params[:refresh_token] end |