class Lucid::Shopify::Session::DecodeSessionToken
Constants
- Error
Public Instance Methods
call(token)
click to toggle source
@param token [String]
@return [String] the *.myshopify.com domain of the authenticated shop
@raise [Error]
# File lib/lucid/shopify/session/decode_session_token.rb, line 17 def call(token) payload, _ = JWT.decode(token, Shopify.config.shared_secret, true, algorithm: 'HS256') raise Error unless valid?(payload) myshopify_domain(payload) rescue JWT::DecodeError raise Error end
Private Instance Methods
myshopify_domain(payload)
click to toggle source
@param payload [Hash]
@return [String]
# File lib/lucid/shopify/session/decode_session_token.rb, line 30 def myshopify_domain(payload) payload['dest'].sub('https://', '') end
valid?(payload)
click to toggle source
@param payload [Hash]
@return [Boolean]
# File lib/lucid/shopify/session/decode_session_token.rb, line 37 def valid?(payload) return false unless payload['aud'] == Shopify.config.api_key return false unless payload['iss'].start_with?(payload['dest']) return true end