【问题标题】:Send sessionToken cross domain跨域发送 sessionToken
【发布时间】:2020-01-02 07:09:28
【问题描述】:

我有一个独特的场景。我有一个由一台服务器设置的 sessionToken (htmlOnly cookie)。我需要在 CORS 请求中将此 sessionToken 添加到另一台服务器。 CORS 服务器使用此 sessionToken 进行身份验证。我知道这不是最佳做法,但考虑到我们的时间表,这是唯一的出路。

我在发出 CORS 请求时尝试将 withCredentials 设置为 true,但这似乎没有向服务器发送任何 cookie。无论如何要在标头中将 sessionToken 发送到另一台服务器?

我尝试将 withCredentials 设置为 true,但在检查网络请求时,CORS 请求中没有发送来自源域的 cookie。

【问题讨论】:

  • 稍微澄清一下我的问题。该请求是从同一个网络应用程序发出的。我正在尝试使用另一台服务器设置的 htmlOnly cookie 向另一台服务器发出 CORS 请求。

标签: javascript authentication cookies cross-domain


【解决方案1】:

你不能这样做。 withCredentials 也只会发送请求所在域的 cookie,它不会从发出请求的域发送 cookie,这将是一个巨大的安全漏洞。

您可以使 cookie 不是 httpOnly,并读取该值并将 Authorization 标头发送到另一个域。虽然我不建议这样做,因为它不安全。

使用 OAuth 之类的身份验证方案返回一个 JWT,该 JWT 为两个域都设置了受众,可以在 Authorization 标头中传递并由两个域进行验证,这对我来说似乎更好。

【讨论】:

    【解决方案2】:

    网站 B 无法从网站 A 读取 cookie。

    我认为您可以改用令牌来返回 jwt 令牌(会话信息),客户端会将这个令牌提交给另一个域。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-05
      • 2012-06-09
      • 2019-02-11
      • 2014-11-27
      • 2012-10-19
      • 2020-12-20
      • 1970-01-01
      • 2015-04-22
      相关资源
      最近更新 更多