Angular 5 - 尽管 (Set-Cookie) 在响应标头中,但设置了 Cookie
Posted
技术标签:
【中文标题】Angular 5 - 尽管 (Set-Cookie) 在响应标头中,但设置了 Cookie【英文标题】:Angular 5 - Cookie is set although (Set-Cookie) is in the response header 【发布时间】:2018-08-29 17:50:10 【问题描述】:对于一个 Angular 5 应用程序,我有一个身份验证服务,它执行一个 HTTP POST,它返回会话 cookie (CORS),如下面的代码所示:
signIn(signInRequest: SignInRequest): Observable<SignInResponse>
let headers: Headers = new Headers();
headers.append('Content-Type','application/json');
return this.http
.post("/login", email: signInRequest._email,password:signInRequest._password, headers: headers, withCredentials: true )
.map(this.extractData)
.catch(this.handleErrorObservable);
header 的响应中包含 set-cookie 如下所示:
请求头如下:
我知道浏览器应该设置 cookie 响应。为什么不做呢?
【问题讨论】:
我有一个类似的问题正在努力解决并即将发布赏金。 ***.com/questions/49352181/… 可能与developer.mozilla.org/en-US/docs/Web/HTTP/Headers/…有关? @Jota.Toledo cookie 正在响应标头中返回,所以不确定要在这里公开什么? @ttugates 和你一样,过去两天我一直在努力解决这个问题。 这是我第一次使用 cookie,所以在你发帖之前,我以为我遗漏了一些明显的东西。刚刚在我的 SO 中添加了 50pt 赏金。 【参考方案1】:您的前端托管在localhost:4200
,您的后端托管在api.safra.me
。默认情况下,您的浏览器不会随请求一起发送 cookie,除非您在登录请求中使用 withCredentials,如您已经使用的那样,以及所有后续请求。
【讨论】:
以上是关于Angular 5 - 尽管 (Set-Cookie) 在响应标头中,但设置了 Cookie的主要内容,如果未能解决你的问题,请参考以下文章
为啥 NodeJS 中来自 Angular 的 GET 请求有时为空,尽管有数据
无法获得 Angular CLI 版本,尽管所有要求都已安装?
为啥我的 Angular 2 应用程序中的 Web 套接字已关闭,尽管我还没有明确关闭它?
尽管 Angular 中的表单已重置,但输入字段仍标记为红色
尽管使用 @Injectable(providedIn: 'root' ) 装饰器,Angular Service 在注入组件时不充当单例