javascript - 跨域发送 sessionToken
问题描述
我有一个独特的场景。我有一个由一台服务器设置的 sessionToken (htmlOnly cookie)。我需要在 CORS 请求中将此 sessionToken 添加到另一台服务器。CORS 服务器使用此 sessionToken 进行身份验证。我知道这不是最佳做法,但考虑到我们的时间表,这是唯一的出路。
我在发出 CORS 请求时尝试将 withCredentials 设置为 true,但这似乎没有向服务器发送任何 cookie。无论如何要在标头中将 sessionToken 发送到另一台服务器?
我尝试将 withCredentials 设置为 true,但是在检查网络请求时,CORS 请求中没有发送来自源域的 cookie。
解决方案
你不能做这个。withCredentials
只会发送请求所在域的 cookie,它不会从发出请求的域发送 cookie,这将是一个巨大的安全漏洞。
您可以使 cookie 不是 httpOnly,并读取该值并将 Authorization 标头发送到另一个域。虽然我不推荐这个,因为它不安全。
使用 OAuth 之类的身份验证方案返回一个 JWT,该 JWT 为两个域都设置了受众,可以在 Authorization 标头中传递并由两个域验证,这对我来说似乎更好。
推荐阅读
- ruby-on-rails - 从 jQuery ruby on rails 渲染部分
- c++ - 如何比较 C++ 中的字符串以便按字典顺序对它们进行排序?
- python - 将字符串拆分为两个整数,python
- csv - Jira Xray 将测试步骤添加到现有测试通过。csv 上传
- javascript - 如何在flutter项目的web文件夹中的js文件中正确使用env变量
- python - Pydrive:获取有关共享文件的详细信息
- css - 如何使用 css 模块重新定义样式?
- windows - 无法在 Windows 服务中启动 Redis。错误 1067:进程意外终止
- python - 是否可以在 requirements.txt 文件中指定不同的 Python 包索引?
- python - 如何将 matplotlib 中的图形保存在特定文件夹中(spyder)