2

我正在使用 DotNetOpenAuth 使用带有 ASP.NET MVC 4 的 Google 帐户执行我的网站身份验证。我能够在我的 localhost 上运行 Google 身份验证而没有任何问题,但是在部署测试时出现以下错误。

 DotNetOpenAuth.Messaging.ProtocolException: return_to '...//myserver/myapp' not under realm '...//myserver/myapp/'.

请注意,return_to 领域参数的唯一区别是尾部斜杠“/”。如果我在浏览器的地址栏中输入 .../myserver/myapp/ (包括尾部斜杠),则该站点可以正常工作。

在浏览器地址栏中输入时,如何让我的应用程序同时接受尾随和缺失的斜杠?

下面是我的代码:

IAuthenticationRequest request = openId.CreateRequest(Identifier.Parse(WellKnownProviders.Google));

FetchRequest fr = new FetchRequest();
fr.Attributes.AddRequired(WellKnownAttributes.Contact.Email);
request.AddExtension(fr);

request.AddExtension(new ClaimsRequest
    {
    Email = DemandLevel.Require,
    });

return request.RedirectingResponse.AsActionResult();

提前感谢您的帮助!

4

0 回答 0