如何解析 JWT 令牌以从中获取实际值

How to parse a JWT token to get the actual values from it

我正在使用 java-jwt 插件从我的 spring 启动服务生成 jwt 令牌,我能够成功地做到这一点。

但我有一种情况,我在令牌中添加了一些用户特定信息,并在验证它时尝试通过解码令牌并构建验证器来验证令牌来获取该信息。 我试图获取此信息的方法是首先获取索赔,然后从该索赔中我需要通过提供它们各自的键来获取我为某些索赔添加的实际值。

假设我将用户名添加为字符串,但是当我解码令牌并从声明中尝试使用 claim.get("UsernameKey").toString() 获取它时,我得到了一些 jsonNode 引用而不是实际值。

我是不是遗漏了什么,或者我需要遵循一些其他过程来获取我在生成此令牌时使用的实际值,请告诉我,因为我正在努力修复它,这将非常有帮助。

你用错了方法。使用 asString() 而不是 toString().

你应该使用claim.get("UsernameKey").asString()