0

我正在解析 JWT,jwsClaims.getBody()得到的输出如下所示:

{
    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]

任何想法为什么索赔中缺少引号?

4

1 回答 1

0

我有同样的问题。不是 getBody() 删除双引号,它parse使用ObjectMapper.readValue()json 并将其转换为Map我还没有找到 jjwt 的解决方案,所以我改为jose4j并让它工作。

希望这对你也有帮助。

于 2017-08-10T05:59:18.963 回答