class IntuitOAuth::Client

Attributes

auth_endpoint[R]
environment[R]
id[R]
issuer_uri[R]
jwks_uri[R]
realm_id[RW]
redirect_uri[R]
revoke_endpoint[R]
secret[R]
state_token[RW]
token_endpoint[R]
user_info_url[R]

Public Class Methods

new(client_id, client_secret, redirect_uri, environment) click to toggle source
# File lib/intuit-oauth/client.rb, line 29
def initialize(client_id, client_secret, redirect_uri, environment)
  @id = client_id
  @secret = client_secret
  @redirect_uri = redirect_uri
  @environment = environment

  # Discovery Doc containes endpoints required for OAuth fow
  @discovery_doc = get_discovery_doc(@environment)
  @auth_endpoint = @discovery_doc['authorization_endpoint']
  @token_endpoint = @discovery_doc['token_endpoint']
  @revoke_endpoint = @discovery_doc['revocation_endpoint']
  @issuer_uri = @discovery_doc['issuer']
  @jwks_uri = @discovery_doc['jwks_uri']
  @user_info_url = @discovery_doc['userinfo_endpoint']

  # optionally set realm_id
  @realm_id = ''
  @state_token = ''
end

Public Instance Methods

code() click to toggle source
# File lib/intuit-oauth/client.rb, line 58
def code
  IntuitOAuth::Flow::AuthCode.new(self)
end
get_discovery_doc(environment) click to toggle source
# File lib/intuit-oauth/client.rb, line 49
def get_discovery_doc(environment)
  if ['production', 'prod'].include? environment.downcase
    url = IntuitOAuth::Config::DISCOVERY_URL_PROD
  else
    url = IntuitOAuth::Config::DISCOVERY_URL_SANDBOX
  end
  IntuitOAuth::Transport.request('GET', url)
end
migration() click to toggle source
# File lib/intuit-oauth/client.rb, line 70
def migration
  IntuitOAuth::Migration::Migrate.new(self)
end
openid() click to toggle source
# File lib/intuit-oauth/client.rb, line 66
def openid
  IntuitOAuth::Flow::OpenID.new(self)
end
token() click to toggle source
# File lib/intuit-oauth/client.rb, line 62
def token
  IntuitOAuth::Flow::Token.new(self)
end