Sha256: 847c64c750493a20cbb2cd8e08477f7e6990db72c72c7daed0aca428c8d269a9

Contents?: true

Size: 882 Bytes

Versions: 2

Compression:

Stored size: 882 Bytes

Contents

# frozen_string_literal: true

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

2 entries across 2 versions & 1 rubygems

Version Path
oct_td_factory-0.1.2 lib/oct_td_factory/services/core_auth_client_credentials.rb
oct_td_factory-0.1.1 lib/oct_td_factory/services/core_auth_client_credentials.rb