【问题标题】:Parse JWT token payload data to get certain value in android/java [closed]解析 JWT 令牌有效负载数据以在 android/java [关闭]
【发布时间】: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 中执行此操作的有效方法。任何帮助,将不胜感激。

【问题讨论】:

    标签: java android jwt


    【解决方案1】:

    您可以为此使用Java JWT

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      猜你喜欢
      • 2019-10-29
      • 2018-09-15
      • 2017-01-06
      • 2016-05-02
      • 2021-12-24
      • 2018-12-19
      • 1970-01-01
      • 2015-09-17
      • 2018-06-13
      相关资源
      最近更新 更多