Sha256: da76c2d0be54ee87d58dddd453e362b53c643201e99e82307be407fc8ba22e29
Contents?: true
Size: 1.6 KB
Versions: 6
Compression:
Stored size: 1.6 KB
Contents
# frozen_string_literal: true require 'signet/oauth_2/client' module Spearly module Auth class Authorizer def initialize(params) @params = params @client = initialize_client end def method_missing(name, *args) @client.send(name, *args) rescue Signet::AuthorizationError raise Spearly::Auth::AuthorizationError end private def initialize_client Faraday.default_connection_options = { headers: { 'Accept' => 'application/vnd.spearly.v2+json' } } client = ::Signet::OAuth2::Client.new client.client_id = @params[:client_id] || @params['client_id'] client.client_secret = @params[:client_secret] || @params['client_secret'] client.code = @params[:code] || @params['code'] client.grant_type = @params[:grant_type] || @params['grant_type'] client.authorization_uri = "#{ENV['SPEARLY_API_URL']}/oauth/authorize" client.token_credential_uri = "#{ENV['SPEARLY_API_URL']}/oauth/token" client.redirect_uri = @params[:redirect_uri] || @params['redirect_uri'] client.access_token = @params[:access_token] || @params['access_token'] client.refresh_token = @params[:refresh_token] || @params['refresh_token'] client.id_token = @params[:id_token] || @params['id_token'] client.expires_in = @params[:expires_in] || @params['expires_in'] client.issued_at = @params[:issued_at] || @params['issued_at'] client.expires_at = @params[:expires_at] || @params['expires_at'] client end end end end
Version data entries
6 entries across 6 versions & 1 rubygems