Boa Noite, estou com um problema na decodificação de um JWT que estou pegando em uma API externa. Na resposta da API eles me enviam um JWT e o Secret, o JWT ta sendo informado lá em baixo, e o Secret é algo parecido com isso aqui: 8bb2f539-5484-42ce[...]
Ou seja o valor de Current.getInstance().getTokenApi(), é exatamente o valor do secret passado pela API externa. Sendo que quando eu executo o código de decodificação, o console apresenta a seguinte mensagem: CONSOLE >>>> JWT signature does not match locally computed signature. JWT validity cannot be asserted and should not be trusted.
public static void getDataApi(String token) {
String apiSecret = Current.getInstance().getTokenApi();
try {
Claims body = Jwts.parser().setSigningKey(apiSecret).parseClaimsJws(token).getBody();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
public static void main(String[] args) {
getDataApiLogusPay("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0cmFuc2FjdGlvbl9pZCI6Ijg2MjVkOTQwLTBhOGMtNDFkMy1iZDU2LTVmMDk2YzRmMzgzYSIsIm9yZGVyX2lkIjoiMTEyNiIsInR5cGUiOiJEZWJpdCBjYXJkIiwidmFsdWUiOiIxMDAuMDAiLCJjb252ZXJ0ZWRfdmFsdWUiOiIzNzkuMDciLCJjdXJyZW5jeSI6IlVTRCIsInN0YXR1cyI6MiwiZW1haWwiOiJvcmxhbmRvbmV0dG8xMUBnbWFpbC5jb20iLCJtb3RpdmUiOiJPcGVyYXRpb24gU3VjY2Vzc2Z1bCIsInNhbmRib3giOnRydWUsImNhcmRIb2xkZXIiOiJvcmxhbmRvIiwiZXhwRGF0ZSI6IjA2LzIwMjYiLCJjYXJkTnVtYmVyIjoiMDAwMDAwKioqKioqKioqMDAwMSIsInBhcmFtczEiOiItIiwicGFyYW1zMiI6Ii0iLCJpYXQiOjE1NjQ0MjUxODgsImV4cCI6MTU2NDQyODc4OH0.6V5kux5xSaraBawvhJrIVaAiosgyMWY6OcEXmb13tWQ");
}