Module: ShopifyApp::WithShopifyIdToken

Extended by:
ActiveSupport::Concern
Defined in:
lib/shopify_app/controller_concerns/with_shopify_id_token.rb

Instance Method Summary collapse

Instance Method Details

#jwt_expire_atObject



31
32
33
34
35
36
# File 'lib/shopify_app/controller_concerns/with_shopify_id_token.rb', line 31

def jwt_expire_at
  expire_at = jwt_payload&.expire_at
  return unless expire_at

  expire_at - 5.seconds # 5s gap to start fetching new token in advance
end

#jwt_payloadObject



13
14
15
16
17
# File 'lib/shopify_app/controller_concerns/with_shopify_id_token.rb', line 13

def jwt_payload
  return @jwt_payload if defined?(@jwt_payload)

  @jwt_payload = shopify_id_token.present? ? ShopifyAPI::Auth::JwtPayload.new(shopify_id_token) : nil
end

#jwt_shopify_domainObject



19
20
21
22
23
24
25
# File 'lib/shopify_app/controller_concerns/with_shopify_id_token.rb', line 19

def jwt_shopify_domain
  return @jwt_shopify_domain if defined?(@jwt_shopify_domain)

  @jwt_shopify_domain = if jwt_payload.present?
    ShopifyApp::Utils.sanitize_shop_domain(jwt_payload.shopify_domain)
  end
end

#jwt_shopify_user_idObject



27
28
29
# File 'lib/shopify_app/controller_concerns/with_shopify_id_token.rb', line 27

def jwt_shopify_user_id
  jwt_payload&.shopify_user_id
end

#shopify_id_tokenObject



7
8
9
10
11
# File 'lib/shopify_app/controller_concerns/with_shopify_id_token.rb', line 7

def shopify_id_token
  return @shopify_id_token if defined?(@shopify_id_token)

  @shopify_id_token = id_token_from_authorization_header || id_token_from_url_param
end