首页 > 解决方案 > 如何在前端和后端存储 JWT 刷新令牌?

问题描述

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

服务器端——如果我们在数据库中保存刷新令牌,如何实现多重身份验证。如果我们创建带有字段例如“UserId”、“RefreshToken”、“ExpireDate”的表并为单个用户保存多个刷新令牌,它会正确吗?

你有什么建议在哪里保留刷新令牌,为什么?你的方法是什么?

谢谢

标签: angularauthenticationasp.net-corearchitecturejwt

解决方案


不完全了解您的问题,但您可以尝试查看服务器“Set-Cookie”响应标头。

这基本上是来自服务器的在客户端上设置 cookie 的“请求”。cookie 只能是 HTTP,这意味着 JavaScript 无法访问它。它只是在所有后续请求中自动发送到服务器。以这种方式设置您的 JWT cookie。

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

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


推荐阅读