如何在前端和后端存储JWT刷新令牌?

时间:2018-08-23 14:40:15

标签: angular authentication asp.net-core architecture jwt

客户端-如果我们将刷新令牌保存在“本地存储”中,并且黑客获得了该令牌,则他/她将永远有权访问用户帐户(即使刷新令牌已过期,黑客也可以刷新访问权限并刷新令牌)。

服务器端–如果我们将刷新令牌保存在数据库中,则如何实现多重身份验证。如果我们使用字段E创建表格“ UserId”,“ RefreshToken”,“ ExpireDate”并为单个用户保存多个刷新令牌,对吗?

您建议在哪里保留刷新令牌,为什么? 那你怎么办?

谢谢

1 个答案:

答案 0 :(得分:2)

尚未完全意识到您的问题,但您可以尝试查看服务器的“ Set-Cookie”响应标头。

这基本上是服务器发出的在客户端上设置Cookie的“请求”。 Cookie可以是仅HTTP,这意味着JavaScript无法访问它。它将在所有后续请求上自动发送到服务器。这样设置您的JWT Cookie。

如果将刷新令牌包装在JWT中,则将是完全安全的。然后,服务器可以通过解码JWT并访问其数据对象来访问有关客户端的刷新令牌。

不确定这是否能回答您的问题,但可能会让您思考正确的方向。

相关问题