【问题标题】:How to detect user across different websites?如何跨不同网站检测用户?
【发布时间】:2021-07-09 19:56:32
【问题描述】:

在我目前工作的公司中,有多个 WebApp,例如:App1、App2、App3 ...当前的问题是我们希望允许用户登录 App1,如果他去 App2,我们不需要此用户再次登录,因为他已经登录了 App1。

我怎样才能做到这一点?我正在使用 Firebase,但 onAuthChange() 不会跟踪不同域的更改,而且我知道我无法将 cookie 从 App1.com 共享到 App2.com。

我的计划是一旦用户登录 App1,我在浏览器上创建一个 cookie,我可以在 App2 上检查,如果有当前用户,则获取 ID 并获取呈现用户信息所需的数据。

我正在使用:ReactJs、NodeJs、Graphql、Prisma、Nexus、Firebase (Auth)。以防万一

【问题讨论】:

    标签: node.js authentication session-cookies


    【解决方案1】:

    Cookie 不会在不同域之间共享。但是如果站点 app1、app2、app3 有一个共同的子域,那么它们可以共享 cookie。例如app1.example.com, app2.example.com, app3.example.com。所有这些站点都有*.example.com 作为它们的子域。因此,所有这些网络应用程序都可以访问为 *.example.com 设置的 cookie。 这些网络应用程序需要在它们之间共享一个通用的身份验证机制。

    另一种选择是当您使用 app1 进行身份验证时,响应可以包含所有三个域的 cookie。

    【讨论】:

    • 非常感谢!这解决了我的问题,我尝试托管在两个不同的子域上,它成功了,我目前能够访问同一个 cookie!
    猜你喜欢
    • 2013-05-02
    • 2015-01-10
    • 2015-01-19
    • 2018-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-05
    • 2015-04-23
    相关资源
    最近更新 更多