在.NET身份验证中,应用程序没有确认帐户,因为代码为空,为什么?

lokaqttq  于 2023-04-22  发布在  .NET
关注(0)|答案(2)|浏览(92)

我正在使用.NET身份验证,应用程序(Razor Pages)没有确认帐户,因为代码为空,但它存在于链接中,为什么?
the code is null
code exists in the link i received
我部署数据库和应用程序免费托管,因为我认为这是原因,但事实并非如此。
& is not exist in 'callbackUrl'
& is exist in 'confirmCode'
我觉得问题在这里:var confirmCode = HtmlEncoder.Default.Encode(callbackUrl);

yxyvkwin

yxyvkwin1#

我觉得问题在这里:var confirmCode = HtmlEncoder.Default.Encode(callbackUrl);
是的。HTML编码用于编码HTML以在网页中显示。它将HTML字符转换为它们的实体(例如<变为&lt;&变为&amp;),这样您就不会将实际的HTML嵌入到页面中。
在对URL进行编码时,应该使用WebUtility.UrlEncode方法:https://learn.microsoft.com/en-us/dotnet/api/system.net.webutility.urlencode?view=net-7.0,那么像&这样的URL安全字符就不会被改变,并且模型绑定器可以正确地理解查询字符串。

vlurs2pr

vlurs2pr2#

我删除了这个代码:
var confirmCode = HtmlEncoder.Default.Encode(callbackUrl);
并发送“callbackUrl”而不是“confirmCode”。

相关问题