将org.springframework.security.jwt JwtHelper.decode(TokenString)
与包含'+'
和'/'
签名的JWT(JWS)令牌一起使用时,Base64Codec.decode
中会抛出InvalidBase64CharacterException
令牌可以是eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ.dBjftJeZ4CVP+mB92K27uhbUJU1p1rwW1gFWFOEjXg==
,其中应包含正确的SHA1消息摘要c99a9ce6add151ffd871ec6820daa4b777f1a15e
Google JWT解码器正在处理此JWT而没有任何问题。当我使用org.apache.commons.codec.binary.Base64手动修补JwtHelper.decode
时,一切似乎都很好。
任何人都可以确认此问题,或者我的身份服务器是否存在生成JWT令牌的问题,而JWT签名中是否真禁禁止+
和/
?