gpt4 book ai didi

java - 如何在 android 中解码 JWT token ?

转载 作者:IT老高 更新时间:2023-10-28 23:27:48 25 4
gpt4 key购买 nike

我有一个像这样的 jwt token

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ

我怎样才能解码这个,这样我才能得到这样的有效载荷

{
"sub": "1234567890",
"name": "John Doe",
"admin": true
}

我使用过 this 库,但找不到一种方法来做我想做的事

最佳答案

你应该拆分字符串:如果您通过 base 64 解码器传递前两个部分,您将得到以下内容(为清晰起见添加了格式):

标题

{
"alg": "HS256",
"typ": "JWT"
}

body

    {
"sub": "1234567890",
"name": "John Doe",
"admin": true
}

代码示例:

public class JWTUtils {

public static void decoded(String JWTEncoded) throws Exception {
try {
String[] split = JWTEncoded.split("\\.");
Log.d("JWT_DECODED", "Header: " + getJson(split[0]));
Log.d("JWT_DECODED", "Body: " + getJson(split[1]));
} catch (UnsupportedEncodingException e) {
//Error
}
}

private static String getJson(String strEncoded) throws UnsupportedEncodingException{
byte[] decodedBytes = Base64.decode(strEncoded, Base64.URL_SAFE);
return new String(decodedBytes, "UTF-8");
}
}

调用方法举例<​​/p>

JWTUtils.decoded("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ");

库引用: https://github.com/jwtk/jjwt

jwt 测试: https://jwt.io/

关于java - 如何在 android 中解码 JWT token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37695877/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com