19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/shopify_api/utils/session_utils.rb', line 19
def current_session_id(, cookies, online)
if Context.embedded?
if
matches = .match(/^Bearer (.+)$/)
unless matches
ShopifyAPI::Logger.warn("Missing Bearer token in authorization header")
raise Errors::MissingJwtTokenError, "Missing Bearer token in authorization header"
end
jwt_payload = Auth::JwtPayload.new(T.must(matches[1]))
shop = jwt_payload.shop
if online
jwt_session_id(shop, jwt_payload.sub)
else
offline_session_id(shop)
end
else
raise Errors::CookieNotFoundError, "JWT token or Session cookie not found for app" unless
cookies && cookies[Auth::Oauth::SessionCookie::SESSION_COOKIE_NAME]
cookie_session_id(cookies)
end
else
raise Errors::CookieNotFoundError, "Session cookie not found for app" unless
cookies && cookies[Auth::Oauth::SessionCookie::SESSION_COOKIE_NAME]
cookie_session_id(cookies)
end
end
|