Class: FlatApi::OAuth2Helper
- Inherits:
-
Object
- Object
- FlatApi::OAuth2Helper
- Defined in:
- lib/flat_api/oauth.rb
Overview
Builds the authorization URL and exchanges codes for tokens.
Instance Method Summary collapse
-
#authorize_url(scopes:, state:, offline: true) ⇒ Object
URL to send a user to.
- #exchange_code(code) ⇒ Object
-
#initialize(client_id:, client_secret:, redirect_uri:) ⇒ OAuth2Helper
constructor
A new instance of OAuth2Helper.
- #refresh(refresh_token) ⇒ Object
Constructor Details
#initialize(client_id:, client_secret:, redirect_uri:) ⇒ OAuth2Helper
Returns a new instance of OAuth2Helper.
41 42 43 44 45 |
# File 'lib/flat_api/oauth.rb', line 41 def initialize(client_id:, client_secret:, redirect_uri:) @client_id = client_id @client_secret = client_secret @redirect_uri = redirect_uri end |
Instance Method Details
#authorize_url(scopes:, state:, offline: true) ⇒ Object
URL to send a user to. offline is what yields a refresh token.
48 49 50 51 52 53 54 55 |
# File 'lib/flat_api/oauth.rb', line 48 def (scopes:, state:, offline: true) params = { client_id: @client_id, redirect_uri: @redirect_uri, response_type: 'code', scope: Array(scopes).join(' '), state: state } params[:access_type] = 'offline' if offline "#{AUTHORIZE_URL}?#{URI.encode_www_form(params)}" end |
#exchange_code(code) ⇒ Object
57 58 59 |
# File 'lib/flat_api/oauth.rb', line 57 def exchange_code(code) token_request(grant_type: 'authorization_code', code: code, redirect_uri: @redirect_uri) end |
#refresh(refresh_token) ⇒ Object
61 62 63 |
# File 'lib/flat_api/oauth.rb', line 61 def refresh(refresh_token) token_request(grant_type: 'refresh_token', refresh_token: refresh_token) end |