解析 JWT 令牌有效负载数据以在 android/java [关闭]

Posted

技术标签:

【中文标题】解析 JWT 令牌有效负载数据以在 android/java [关闭]【英文标题】:Parse JWT token payload data to get certain value in android/java [closed] 【发布时间】:2017-02-10 20:29:31 【问题描述】:

我刚接触到 JWT,想知道如何解析有效负载数据以使用密钥从中获取特定值。

以下 JWT 令牌中的示例 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFO

payload数据在jwt.io中解码时包含以下对象


    "sub" : "1234567890"
    "name" : "John Doe"
    "admin" : "true"
  

我希望能够解析此对象以获取 name 的值,在本例中为来自上述 JWT 令牌的 John Doe。

我已经读过这个android JWT parsing payload/claims when signed

但我想知道是否有使用某些库在 android 中执行此操作的有效方法。任何帮助,将不胜感激。

【问题讨论】:

【参考方案1】:

您可以为此使用Java JWT:

String name = Jwts.parser().setSigningKey(keyUsedWhenSigningJwt).parseClaimsJws("base64EncodedJwtHere").getBody().get("name", String.class);

【讨论】:

【参考方案2】:

我解决了这个问题,通常解析字符串并从 base64 解码,然后将字符串转换为 JSONObject 并解析 JSONObject 以获得所需的值。

【讨论】:

你能举个例子吗? ***.com/questions/56399692/…

以上是关于解析 JWT 令牌有效负载数据以在 android/java [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Angular 8 中对客户端的 JWT 解码令牌有效负载进行编码?

JWT 有效负载中的令牌

没有任何 JS 访问令牌的 JWT 有效负载加密

python jwt中令牌过期时如何提取jwt令牌有效负载

加密 JWT 有效负载

提取过期 jwt 令牌的有效负载