uri getting encoded

I am sending a jwt token in queryparams from postman. There is a '+' character in the token.

When I am checking the uri in apigee trace, the '+' is getting encoded as %20 instead of %2B.  So the backend is not able to verify the jwt token since it's getting a space instead of '+' in the token.

0 1 72
1 REPLY 1

Hi

I think that's wrong. The JWT format uses base64URL encoding, which DOES NOT USE + for any character.

The reason the standard uses base64URL is specifically to avoid the problem you are observing. The first line of the IETF RFC for JWT states:

JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties.

So I would suggest that you examine the source of the JWT that you are trying to send. It seems to me, from what you say, that the token is not correctly formatted.  If it contains a +, it's wrong.