温馨提示:本文翻译自stackoverflow.com,查看原文请点击:javascript - Set-Cookie from Remote API not working
cookies express http javascript

javascript - 远程API中的Set-Cookie无法正常工作

发布于 2020-04-12 10:16:03

我目前在需要使用httpOnly cookie的项目中。该项目需要直接调用API。

假设是对xxx.com/vx/auth/login用户登录尝试进行身份验证。该端点将给客户端响应并设置cookie。像这样:

Set-Cookie:token=eyJ0b2tlbiI6ImV5SmhiR2NpT2lKSVV6STFOaUlzSW5SNWNDSTZJa3BYVkNKOS5leUoxYVdRaU9pSXhNREEwT0RJd05DSXNJbDlwWkNaNkluWXhYM1Z6WlhKekx6RXdNRFE0TWpBMElpd2libUZ0WlNJNklrRm5kVzVuSUZOMWNubGhJRUpoYm1kellTSXNJbVZ0WVdsc0lqb2ljR0ZwYm1GdVpHVnpkR2x1WldSQWVXRm9iMjh1WTI5ddlpd2liR1YyWld3aU9qQXNJbWxoZENJNk1UUTNOek0zTVRnMk55d2laWGh3SWpveE5EYzNOVFEwTmpZc2ZRLmtUN0IzNW9YYjQ2RmU3WWFLYkd4MXhoYkdGUWJ1TFg1U053N3FWSjNfa2siffQ==; expires=Thu, 27 Oct 2016 05:04:27 GMT; path=/; HttpOnly

但是当我查看时devtools,未设置cookie。即使在刷新几次之后。

我在这里想念什么?我需要创建一个代理来处理吗?*我曾经使用代理,并且效果很好

查看更多

提问者
asubanovsky
被浏览
58
asubanovsky 2016-10-26 15:08

我终于设法与后端工程师一起解决了这个问题:

  1. 从Access-Control-Allow-Origin中删除通配符,并改用特定的域来源。如果不,
  2. Access-Control-Allow-Credentials: true

在请求中,我设置withCredentialstrue

注意:如果设置withCredentialstrue,则还必须设置Access-Control-Allow-Credentialstrue另外,如果您仍在中使用通配符,则此操作将无效Access-Control-Allow-Origin

进一步阅读“带凭证的请求”