【发布时间】:2017-03-29 02:27:39
【问题描述】:
我有一个由某些服务生成的 JWT 令牌,然后在我的 Java 应用程序上进行验证。
问题是由于base64解码错误,JJWT库无法解析JSON头。
标头 Base64 代码:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InRva2VuLXNpZ25pbmcifQ
由 JJWT 解码(归结为调用:
new String(javax.xml.bind.DatatypeConverter.parseBase64Binary(myBase64), java.nio.charset.Charset.forName("UTF-8")))):
{"alg":"RS256","typ":"JWT","kid":"token-signing"
所以最后一个花括号丢失了。
但是,当我尝试 ше 与其他解码器 (https://www.base64decode.org/) 时 - 最后一个花括号就位。
对于其他开发人员也可以使用相同的代码。
会不会是特定环境影响 Java 中的 Base64 解码?
【问题讨论】: