angular - 如何在前端和后端存储 JWT 刷新令牌?
问题描述
客户端 - 如果我们将刷新令牌保存在“本地存储”中并且黑客获得此令牌,他/她将永远访问用户帐户(即使刷新令牌已过期,黑客也可以刷新访问权限并刷新令牌)。
服务器端——如果我们在数据库中保存刷新令牌,如何实现多重身份验证。如果我们创建带有字段例如“UserId”、“RefreshToken”、“ExpireDate”的表并为单个用户保存多个刷新令牌,它会正确吗?
你有什么建议在哪里保留刷新令牌,为什么?你的方法是什么?
谢谢
解决方案
不完全了解您的问题,但您可以尝试查看服务器“Set-Cookie”响应标头。
这基本上是来自服务器的在客户端上设置 cookie 的“请求”。cookie 只能是 HTTP,这意味着 JavaScript 无法访问它。它只是在所有后续请求中自动发送到服务器。以这种方式设置您的 JWT cookie。
如果您将刷新令牌包装在您的 JWT 中,它将是完全安全的。然后,服务器可以通过解码 JWT 并访问其数据对象来访问相关客户端的刷新令牌。
不确定这是否回答了您的问题,但可能会让您思考正确的路线。
推荐阅读
- c# - 如何在 acumatica 上获取图像链接
- eclipse - 如何在 BIRT 中编辑报告单元格的行跨度?
- python - 我正在努力从 CSV 文件创建字典
- docker - Docker网络接口卡带宽限制?
- python - 如何防止精灵相互重叠
- azure-machine-learning-service - 作业提交失败:CondaHTTPError: HTTP 000 CONNECTION FAILED
- php - Symfony 4 TwigFunction 未注册
- r - 如何为 3 个组添加一些列的值?
- docker - 创建 pod 沙箱失败:rpc 错误:code = Unknown desc #198
- mysql - 是否可以将应用程序内的所有数据库交互限制为读取?