Asp.Net Web API oAuth 2.0 cannot validate with pas

2019-02-28 01:28发布

问题:

I am having a wired issue in my AngularJs application. When user is trying to login to the app and if the password contains ampersand (&), then it couldn't able to validate the user.

I am using OWIN, oAuth2.0 JWT token to validate my Asp.Net Web APIs.

When i debug i found that if the password contains ampersand (&), then it is truncating all the characters from ampersand (&).

For example, if the password is 'x&x' the OAuthValidateClientAuthenticationContext context is getting only 'x' in password value.

I have attached a screen shot of the issue click to see the issue..

Any help on this issue, would be highly appreciated.

回答1:

Am guessing the value is being interpreted as a query string separator.

Try using the javascript method

encodeURI()

Or

EncodeURIcomponent()

On your password value before posting to the server, so the ampersand becomes

&

The server will decode this for you.
You'll probably find that slashes and question marks will also not work in passwords if you dont