【发布时间】:2021-05-11 08:06:27
【问题描述】:
我正在尝试将令牌存储在 HttpOnly cookie 中,但是我不确定如何实现。首先,我的 SpringBoot 服务器是这样返回它们的
@PostMapping("/sign-in")
fun signIn(@RequestBody request: SignInRequest, response: HttpServletResponse): ResponseEntity<SignInResponse> {
val signInResponse = signInService.signIn(request);
val cookie = Cookie("Authorization", signInResponse.accessToken)
cookie.isHttpOnly = true
response.addCookie(cookie)
return ResponseEntity.ok(signInResponse)
}
然后,在我的 Angular 应用程序中,我调用了这个 API
ngOnInit() {
this.httpClient.post("http://localhost:8081/api/auth/sign-in", {
email: "user@user.com",
password: "user"
}).subscribe(res => {
console.log(res)
})
}
它似乎工作正常,当我在浏览器中转到网络选项卡时,我可以看到 Cookie
但是,然后我尝试调用另一个端点,cookie 没有通过
callWithCredentials() {
this.httpClient.get(
"http://localhost:8081/api/test",
{ withCredentials: true }
).subscribe(res => {
console.log(res)
})
}
【问题讨论】:
标签: angular spring authentication cookies httponly