Я пытаюсь взять токен из API моего веб-приложения и проанализировать идентификатор пользователя из него в Android Studio.Я использую jjwt для декодирования токена, но сталкиваюсь с этой проблемой.Я читал онлайн, и в решениях говорилось, что мой «секретный ключ» был в базе 64, но он все еще вызывает проблемы.
Я пытался использовать кодировщик, онлайн-кодировщик и жестко кодировать строку base-64 моего «секрета», но все равно возвращает те же проблемы.Ссылка на людей, имеющих подобные проблемы, находится здесь github.com/auth0/node-jsonwebtoken/issues/208
final TextView tv = (TextView) findViewById(R.id.tvText);
final String token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVjOWYzYWI2NzY2Mjg2NDYyNDY0YTczNCIsIm5hbWUiOiJSYW5keSIsImF2YXRhciI6Ii8vd3d3LmdyYXZhdGFyLmNvbS9hdmF0YXIvMTNhN2MyYzdkOGVkNTNkMDc2MzRkOGNlZWVkZjM0NTE_cz0yMDAmcj1wZyZkPW1tIiwiaWF0IjoxNTU0NTIxNjk1LCJleHAiOjE1NTQ1MjUyOTV9._SxRurShXS-SI3SE11z6nme9EoaD29T_DBFr8Qwngkg";
final String secret = "secret";
String secret64 = "c2VjcmV0";
String encoded = Base64.encodeToString(secret.getBytes(), Base64.DEFAULT);
Jws<Claims> jws;
try {
jws = Jwts.parser() // (1)
.setSigningKey(secret64) // (2)
.parseClaimsJws(token); // (3)
// we can safely trust the JWT
}
catch (JwtException ex) { // (4)
// we *cannot* use the JWT as intended by its creator
tv.setText(ex.toString());
}