class BRL::Auth::TokenService
Public Class Methods
new(connection: Connection.new)
click to toggle source
# File lib/brl/auth/token_service.rb, line 6 def initialize(connection: Connection.new) @connection = connection end
Private Class Methods
login_body()
click to toggle source
# File lib/brl/auth/token_service.rb, line 22 def self.login_body URI.encode_www_form({ grant_type: "client_credentials", scope: "refresh_token" }) end
Public Instance Methods
retrieve()
click to toggle source
# File lib/brl/auth/token_service.rb, line 10 def retrieve res = @connection.post(url: BRL::Auth::TOKEN_ENDPOINT, body: BRL::Auth::TokenService.login_body) return parse_response(res.body) if res.status == 200 raise BRL::Auth::BadRequestError if res.status == 400 raise BRL::Auth::InvalidCredentialsError if res.status == 401 raise BRL::Auth::ServerError if res.status == 500 raise BRL::Auth::UnexpectedError end
Private Instance Methods
parse_response(res)
click to toggle source
# File lib/brl/auth/token_service.rb, line 26 def parse_response(res) res = JSON.parse(res) BRL::Auth::Token.new( access_token: res["access_token"], created_at: Time.now.utc, expires_in: res["expires_in"], refresh_token: res["refresh_token"], scope: res["scope"], token_type: res["token_type"] ) end