Class: ShopifyAPI::Utils::SessionUtils
- Inherits:
-
Object
- Object
- ShopifyAPI::Utils::SessionUtils
- Extended by:
- T::Sig
- Defined in:
- lib/shopify_api/utils/session_utils.rb
Class Method Summary collapse
- .cookie_session_id(cookies) ⇒ Object
- .current_session_id(auth_header, cookies, online) ⇒ Object
- .jwt_session_id(shop, user_id) ⇒ Object
- .offline_session_id(shop) ⇒ Object
Class Method Details
.cookie_session_id(cookies) ⇒ Object
62 63 64 |
# File 'lib/shopify_api/utils/session_utils.rb', line 62 def () [Auth::Oauth::SessionCookie::SESSION_COOKIE_NAME] end |
.current_session_id(auth_header, cookies, online) ⇒ Object
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(auth_header, , online) if Context. if auth_header matches = auth_header.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 # falling back to session cookie raise Errors::CookieNotFoundError, "JWT token or Session cookie not found for app" unless && [Auth::Oauth::SessionCookie::SESSION_COOKIE_NAME] () end else raise Errors::CookieNotFoundError, "Session cookie not found for app" unless && [Auth::Oauth::SessionCookie::SESSION_COOKIE_NAME] () end end |
.jwt_session_id(shop, user_id) ⇒ Object
52 53 54 |
# File 'lib/shopify_api/utils/session_utils.rb', line 52 def jwt_session_id(shop, user_id) "#{shop}_#{user_id}" end |
.offline_session_id(shop) ⇒ Object
57 58 59 |
# File 'lib/shopify_api/utils/session_utils.rb', line 57 def offline_session_id(shop) "offline_#{shop}" end |