Sha256: b7bcf38727d6429a61fceebfd8c50e8b4c5aa37eb18c17d1524acf06411a55fc
Contents?: true
Size: 1.29 KB
Versions: 2
Compression:
Stored size: 1.29 KB
Contents
# frozen_string_literal: true module Bs2Api module Request class Auth class << self def token Bs2Api.configuration.valid? response = create_session raise Bs2Api::Errors::Unauthorized, response["error_description"] if response.unauthorized? raise Bs2Api::Errors::BadRequest, response["error_description"] if response.bad_request? raise Bs2Api::Errors::ServerError, response.body if !response.success? response["access_token"] end private def create_session HTTParty.post( auth_url, headers: headers, body: body, basic_auth: { username: Bs2Api.configuration.client_id, password: Bs2Api.configuration.client_secret } ) end def headers { "Content-Type": "application/x-www-form-urlencoded", "Accept": "application/json" } end def body { grant_type: "client_credentials", scope: "pix.write%20pix.read" }.queryfy end def auth_url "#{Bs2Api.endpoint}/auth/oauth/v2/token" end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
bs2_api-0.3.2 | lib/bs2_api/request/auth.rb |
bs2_api-0.3.1 | lib/bs2_api/request/auth.rb |