Sha256: 3559daf26370c3b4a541065f7de3c1552a6b72b446fcf31887034995cd01719e

Contents?: true

Size: 849 Bytes

Versions: 1

Compression:

Stored size: 849 Bytes

Contents

module Services
  module CoreAuthClientCredentials
    def fetch_core_auth_client_credentials
    @url = ENV.fetch('CORE_URL')
      @token_url = '/sso/oauth/token'
      @grant_type = 'client_credentials'
      @client_id = ENV.fetch('CORE_AUTH_CLIENT_ID')
      @client_secret = ENV.fetch('CORE_AUTH_CLIENT_SECRET')
    end

    def core_client
      fetch_core_auth_client_credentials

      OAuth2::Client.new(
        @client_id,
        @client_secret,
        site: @url,
        token_url: @token_url
      )
    end

    def core_token_response
      @core_token_response ||= core_client.client_credentials.get_token
    end

    def core_access_token
      @core_access_token ||= core_client.client_credentials.get_token.token
    end

    def create_request
      OAuth2::AccessToken.new(core_client, core_access_token)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
oct_td_factory-0.1.0 lib/oct_td_factory/services/core_auth_client_credentials.rb