解析JWT令牌有效负载数据以获取android / java中的特定值

时间:2016-10-02 22:28:38

标签: java android jwt

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

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

当在jwt.io

中解码时,有效负载数据包含以下对象
{
    "sub" : "1234567890"
    "name" : "John Doe"
    "admin" : "true"
}  

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

我已经阅读了这个Android JWT parsing payload/claims when signed

但我想知道是否有一种有效的方法在Android中使用某些库来做到这一点。任何帮助,将不胜感激。

2 个答案:

答案 0 :(得分:2)

您可以使用Java JWT

    // check if the space has the letter you guessed
    if (blank.charAt(space) == input.charAt(0)) {
         // if it has just update the pattern string to also contain the new letter
         guess = guess.substring(0, space) + input + guess.substring (space + 1)

答案 1 :(得分:1)

我通过正常解析字符串并从base64解码然后将字符串转换为JSONObject并解析JSONObject以获得所需的值来解决它。