我使用jwsClaims.getBody()解析JWT,得到的输出如下所示:
{
iss=issuer,
sub=joe@smith.net,
roleName=user,
companyName=company,
iat=1493790315,
exp=1494395115
}输出应该是JSON,但它缺少键和值两边的双引号(")。我尝试在JSON上使用对象映射器,但得到一个错误消息:
IOException in fromJson: com.fasterxml.jackson.core.JsonParseException: Unexpected character ('i' (code 105)): was expecting double-quote to start field name at [Source: {iss=issuer, sub=joe@smith.net, roleName=user, companyName=company, iat=1493790315, exp=1494395115}; line: 1, column: 3]你知道为什么索赔中没有引号吗?
发布于 2017-08-10 13:59:19
我也有同样的问题。Not getBody()去掉了双引号,它是parse,它使用ObjectMapper.readValue()并将json转换为Map。我还没有找到使用jjwt的解决方案,所以我改成了jose4j并让它工作。
希望这对你也有帮助。
https://stackoverflow.com/questions/43767097
复制相似问题