Class: Tanita::Api::Client::Auth
- Inherits:
-
Object
- Object
- Tanita::Api::Client::Auth
- Includes:
- HttpHelper
- Defined in:
- lib/tanita/api/client.rb
Instance Method Summary collapse
- #auth_uri ⇒ Object
- #exchange_token(auth_code:) ⇒ Object
-
#initialize(client_id: nil, client_secret: nil, redirect_uri: nil, scopes: nil) ⇒ Auth
constructor
A new instance of Auth.
Methods included from HttpHelper
#generate_uri, #parse_json, #request, #time_format
Constructor Details
#initialize(client_id: nil, client_secret: nil, redirect_uri: nil, scopes: nil) ⇒ Auth
Returns a new instance of Auth.
27 28 29 30 31 32 33 34 |
# File 'lib/tanita/api/client.rb', line 27 def initialize(client_id: nil, client_secret: nil, redirect_uri: nil, scopes: nil) config = Tanita::Api::Client.configuration @client_id = client_id || config.client_id @client_secret = client_secret || config.client_secret @redirect_uri = redirect_uri || config.redirect_uri @scopes = scopes || config.scopes check_required_arguments end |
Instance Method Details
#auth_uri ⇒ Object
36 37 38 39 40 41 42 43 44 |
# File 'lib/tanita/api/client.rb', line 36 def auth_uri params = { :client_id => @client_id, :redirect_uri => @redirect_uri, :scope => @scopes.join(','), :response_type => 'code' } generate_uri(AUTH_URL_PATH, params) end |
#exchange_token(auth_code:) ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/tanita/api/client.rb', line 46 def exchange_token(auth_code:) params = { :client_id => @client_id, :client_secret => @client_secret, :redirect_uri => DEFAULT_REDIRECT_URI, :code => auth_code, :grant_type => 'authorization_code' } res = request(TOKEN_URL_PATH, params) token = parse_json(res.body) raise Error.new("#{self.class}.#{__method__}: #{token[:error]}") if token.key? :error token end |