Asp.Net Web API oAuth 2.0 无法使用包含与号 (&) 的密码进行验证

Raj*_*Raj 2 asp.net oauth jwt asp.net-web-api owin

我的 AngularJs 应用程序遇到有线问题。当用户尝试登录应用程序时,如果密码包含与号 (&),则无法验证用户。

我正在使用 OWIN、oAuth2.0 JWT 令牌来验证我的 Asp.Net Web API。

当我调试时,我发现如果密码包含与号(&),那么它会截断与号(&)中的所有字符。

例如,如果密码是“x&x”,则 OAuthValidateClientAuthenticationContext 上下文在密码值中仅获取“x”。

我已附上该问题的屏幕截图,单击即可查看该问题。

对于这个问题的任何帮助,我们将不胜感激。

小智 5

我猜测该值被解释为查询字符串分隔符。

尝试使用javascript方法

encodeURI()
Run Code Online (Sandbox Code Playgroud)

或者

EncodeURIcomponent()
Run Code Online (Sandbox Code Playgroud)

在发布到服务器之前根据您的密码值,因此&符号变为

&
Run Code Online (Sandbox Code Playgroud)

服务器将为您解码。
如果您不这样做,您可能会发现斜杠和问号在密码中也不起作用