我具有以下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”标题:
但是,当我使用console.log
在Angular中打印响应时,我没有看到此标头:
这是Angular中的REST调用:
this.http.post<Login>(this.url, this.loginRequest, {
headers: AuthService.getHeaders(),
observe: 'response',
withCredentials: true
}).subscribe(
response => {
console.log(response);
});
我确实按照建议将withCredentials: true
和observe: 'response'
添加到请求调用中,并且确实获得了整个响应,但没有cookie。
我要做的是在成功登录后获取cookie,此cookie将随服务器中的身份验证请求一起发送。
感谢您的帮助!