Class: FitbitClient::AuthorizationGrantFlow
- Inherits:
-
Object
- Object
- FitbitClient::AuthorizationGrantFlow
- Defined in:
- lib/fitbit_client/authorization_grant_flow.rb
Instance Attribute Summary collapse
-
#client_id ⇒ Object
readonly
Returns the value of attribute client_id.
-
#client_secret ⇒ Object
readonly
Returns the value of attribute client_secret.
Instance Method Summary collapse
- #client_identification_uri(redirect_url, scopes) ⇒ Object
- #get_token(code, redirect_url) ⇒ Object
-
#initialize(options = {}) ⇒ AuthorizationGrantFlow
constructor
A new instance of AuthorizationGrantFlow.
- #oauth2_client ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ AuthorizationGrantFlow
Returns a new instance of AuthorizationGrantFlow.
7 8 9 10 |
# File 'lib/fitbit_client/authorization_grant_flow.rb', line 7 def initialize( = {}) @client_id = .fetch(:client_id, FitbitClient.client_id) @client_secret = .fetch(:client_secret, FitbitClient.client_secret) end |
Instance Attribute Details
#client_id ⇒ Object (readonly)
Returns the value of attribute client_id.
5 6 7 |
# File 'lib/fitbit_client/authorization_grant_flow.rb', line 5 def client_id @client_id end |
#client_secret ⇒ Object (readonly)
Returns the value of attribute client_secret.
5 6 7 |
# File 'lib/fitbit_client/authorization_grant_flow.rb', line 5 def client_secret @client_secret end |
Instance Method Details
#client_identification_uri(redirect_url, scopes) ⇒ Object
20 21 22 23 |
# File 'lib/fitbit_client/authorization_grant_flow.rb', line 20 def client_identification_uri(redirect_url, scopes) params = URI.encode("?response_type=code&client_id=#{FitbitClient.client_id}&scope=#{scopes}") "#{FitbitClient::OAUTH2_CLIENT_OPTIONS[:authorize_url]}/#{params}&redirect_uri=#{redirect_uri_param(redirect_url)}" end |
#get_token(code, redirect_url) ⇒ Object
12 13 14 |
# File 'lib/fitbit_client/authorization_grant_flow.rb', line 12 def get_token(code, redirect_url) oauth2_client.get_token(grant_type: 'authorization_code', code: code, redirect_uri: redirect_url) end |
#oauth2_client ⇒ Object
16 17 18 |
# File 'lib/fitbit_client/authorization_grant_flow.rb', line 16 def oauth2_client @oauth2_client ||= OAuth2::Client.new(client_id, client_secret, OAUTH2_CLIENT_OPTIONS) end |