【问题标题】:JWT vs Cookies (Sessions) for WhiteLabeled Web App - Prevent CORS and 3rd Party Cookie IssuesWhiteLabeled Web 应用程序的 JWT 与 Cookie(会话) - 防止 CORS 和 3rd 方 Cookie 问题
【发布时间】:2021-10-16 07:27:39
【问题描述】:

概述

所以我有一个 Web 应用程序 (Node.JS/React/GraphQL/PostreSQL),我正在为我的用户群从 Auth0 切换到内部(自定义)授权/身份验证。这里最大的问题是应用程序可以 100% 为公司(包括唯一域)贴上白标。我切换的原因是因为 Auth0 无法处理第 3 方 cookie 的问题,因此在某些禁用第 3 方 cookie 的浏览器中(由于域差异),任何具有自己 URL 的白标客户端都无法通过 Auth0 进行授权。

JWT 与 Cookies

因此,当用户与应用程序/API 交互时,我有两种方法来验证用户身份。我可以使用传统的 cookie 和“会话 ID”或更现代的 JWT。由于当 API 是“api.myapp.com”域但客户端(浏览器)在“my.whitelabel.com”域上呈现时,Auth0 给了我这样的问题,我担心如果我走传统的 cookie 路线我'将有同样的问题。对于 CORS 问题,JWT 似乎更加通用,而对于白标解决方案,cookie 似乎更加僵化和有问题。

为什么我更喜欢 Cookies

虽然 cookie 的刚性特性给 Auth0 带来了 CORS 问题,但该技术更安全(或者看起来如此),并且能够立即结束与恶意行为者的会话对我来说非常有吸引力。

我应该探讨的任何建议... cookie 身份验证可以处理白标应用程序吗?

【问题讨论】:

  • 这能回答你的问题吗? JWT vs cookies for token-based authentication
  • 不完全是,我了解其中的区别,但我更特别想了解在为应用程序添加白标签时,第三方 cookie 是否会成为问题
  • 最后,JWT 是处理 SaaS 应用程序中的身份验证的最佳方式吗?

标签: node.js cookies jwt white-labelling


【解决方案1】:

Cookie 仍然适用于带有白标签的应用。您的 Web 服务器可能需要重写 Set-Cookie 标头(在返回客户端的过程中),以便它使用白标签域代替您的服务器主机。

如果您要进行重写,您可以处理子域和根域的白标。

来源:我运行appmasker.com,它基本上是一个托管代理服务器,可以处理这些类型的白标问题。

【讨论】:

    猜你喜欢
    • 2017-01-11
    • 2021-01-19
    • 1970-01-01
    • 1970-01-01
    • 2015-11-24
    • 2020-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多