问题描述
您好,我有一个应用程序,可以在用户登录时为用户生成 JWT 令牌。但问题是,如果用户使用新设备登录,我想将之前的 JWT 令牌添加到黑名单。问题是当用户再次登录时,我不知道如何获取之前的 JWTtoken。有什么建议吗?
解决方法
这里的大问题是用户如何将 JWT 从一台设备带到另一台设备?您应该尽力隐藏 JWT,主要在请求标头中使用它。
但如果您要让 JWT 可访问,有两种方法可以解决这个问题。
-
JWT 过期策略 - 这是最常见的技术,JWT 在一定时间后过期,用户必须重新登录。为什么这并不能直接解决切换设备的问题,应该可以防止大多数情况
-
设备属性 - 当您生成 JWT 时,将设备类型“pc”、“移动”、“平板电脑”等的属性添加到 JWT,并检查该属性是否与用户的当前设备匹配。您可以向路由器添加一个授权步骤来执行此操作。