Class: LucidShopify::Authorize

Inherits:
Object
  • Object
show all
Defined in:
lib/lucid_shopify/authorize.rb

Constant Summary collapse

Error =
Class.new(Error)

Instance Method Summary collapse

Constructor Details

#initialize(client: Container[:client]) ⇒ Authorize

Returns a new instance of Authorize.

Parameters:

  • client (#post_json) (defaults to: Container[:client])


12
13
14
# File 'lib/lucid_shopify/authorize.rb', line 12

def initialize(client: Container[:client])
  @client = client
end

Instance Method Details

#call(myshopify_domain, authorization_code) ⇒ String

Exchange an authorization code for a new Shopify access token.

Parameters:

  • myshopify_domain (String)
  • authorization_code (String)

Returns:

  • (String)

    the access token

Raises:

  • (Error)

    if the response is invalid



26
27
28
29
30
31
32
33
34
35
# File 'lib/lucid_shopify/authorize.rb', line 26

def call(myshopify_domain, authorization_code)
  request_credentials = RequestCredentials.new(myshopify_domain)

  data = @client.post_json(request_credentials, 'oauth/access_token', post_data(authorization_code))

  raise Error if data['access_token'].nil?
  raise Error if data['scope'] != LucidShopify.config.scope

  data['access_token']
end