gpt4 book ai didi

java - Angular 8 从 HttpResponse 获取 "Set-Cookie" header

转载 作者:行者123 更新时间:2023-12-05 03:57:35 31 4
gpt4 key购买 nike

我有以下 Java Spring REST API 方法:

@RequestMapping(value = "/login", method = RequestMethod.POST)
public ResponseEntity login(@RequestBody LoginRequest request) {
request.getSession(true);
LoginResponse res = this.authService.login(request);
return new ResponseEntity<>(res, HttpStatus.OK);
}

当使用 Postman 或从 FireFox 浏览器调用时,我可以清楚地看到“Set-Cookie” header :

enter image description here

然而,当我使用 console.log 在 Angular 中打印响应时,我没有看到这个标题:

enter image description here

这是 Angular 中的 REST 调用:

this.http.post<Login>(this.url, this.loginRequest, {
headers: AuthService.getHeaders(),
observe: 'response',
withCredentials: true
}).subscribe(
response => {
console.log(response);
});

我确实按照建议将 withCredentials: trueobserve: 'response' 添加到请求调用中,我确实得到了整个响应,但没有 cookie。我想做的是在成功登录后获取一个 cookie,该 cookie 将随之后的任何请求一起传送,以在服务器中进行身份验证。

感谢您的帮助!

最佳答案

如果不是 https,浏览器似乎不会将 cookie 共享给客户端。我必须遵循这个 guide为了以 https 模式提供应用程序,然后我能够在服务器端看到 cookie。

关于java - Angular 8 从 HttpResponse 获取 "Set-Cookie" header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58434702/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com