Sha256: 04ce93faae8d83e715379ee4f5c0c130e1d17d19b53f5a7c0a9a650d7e99c4ad
Contents?: true
Size: 1001 Bytes
Versions: 10
Compression:
Stored size: 1001 Bytes
Contents
require 'bootic_client/strategies/oauth2_strategy' module BooticClient module Strategies class Authorized < Oauth2Strategy protected def validate! raise ArgumentError, "options MUST include access_token" unless options[:access_token] end def get_token # The JWT grant must have an expiration date, in seconds since the epoch. # For most cases a few seconds should be enough. exp = Time.now.utc.to_i + 30 # Use the "assertion" flow to exchange the JWT grant for an access token access_token = auth.assertion.get_token( hmac_secret: config.client_secret, iss: config.client_id, prn: client.options[:access_token], aud: 'api', exp: exp, scope: '' ) access_token.token end def auth @auth ||= OAuth2::Client.new('', '', site: config.auth_host) end end end strategies[:authorized] = Strategies::Authorized end
Version data entries
10 entries across 10 versions & 1 rubygems