我从UI获得一个JWT令牌到java后端,其中包含"角色"在里面。我正在尝试使用该令牌使用spring安全性实现基于角色的授权(保护Rest api)。问题是我没有JWT签名密钥。我只想解码(不验证令牌)并使用JWT中的角色实现授权。我怎么能做到呢?任何关于如何实现这一目标的文章/网站都会有所帮助。我尝试在没有使用JJWT(JsonWebToken)签名密钥的情况下解码令牌,但索赔值始终为Null。
String token = "ey.....";
Claims claims;
try {
claims = Jwts.parser()
.parseClaimsJws(token)
.getBody();
} catch (Exception e) {}
您真的不应该在没有验证的情况下接受令牌的内容,但这里是。
令牌有三个位,中间用句号(.)隔开。
与String.split”.”);
拆分
每个部分都是base64编码的。用new String(Base64.decoder.decode(middleBit.getBytes()))
解码中间位(AFAICR)这将是一个带有声明的JSON。
请注意,对于验证/解包JWT,签名密钥是公共密钥签名人的Y