【问题标题】:How not to share authentication cookie between different webapps with the same auth server如何不在具有相同身份验证服务器的不同 Web 应用程序之间共享身份验证 cookie
【发布时间】:2021-10-31 18:53:45
【问题描述】:

这个问题与大多数问题/教程所讨论的相反。

假设我们在同一个域下有 2 个 SPA。例如spa1.company.comspa2.company.com。他们都针对同一个api进行身份验证api.company.com

服务器设置了一个 cookie httponlysecuresamesite=strict,域为api.company.com。 cookie只有经过身份验证的函数api.company.com/authenticate才需要(所以cookie的路径是/authenticate

(据我了解,不能设置为spa1.company.com,因为调用api.copmany.com时不会发送)

因此,现在两个 SPA 都将在调用身份验证方法时发送 cookie。为了每个 SPA 有 1 个 cookie,应该进行哪些设置?

我可以通过路径做一些有趣的事情来缓解它,但我确信那里有更好的解决方案。

【问题讨论】:

    标签: authentication cookies


    【解决方案1】:

    请在使用此溶液时加少许盐。它运作良好,但也许有更好的最佳实践方法。

    将客户端的应用标识符添加到 URL。例如:

    1. api.company.com/authenticate/spa1
    2. api.company.com/authenticate/spa2

    然后您可以设置cookie的路径以包含应用标识符,并且不会在客户端之间共享

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-01
      • 1970-01-01
      • 2011-05-01
      • 1970-01-01
      • 2019-03-12
      • 1970-01-01
      • 2020-06-06
      • 1970-01-01
      相关资源
      最近更新 更多