使用Google提供程序的DotNetOpenAuth无法在localhost上运行,但在测试服务器上失败 - return_to领域问题

时间:2013-07-02 15:09:21

标签: asp.net asp.net-mvc c#-4.0 asp.net-mvc-4 dotnetopenauth

我正在使用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();

提前感谢您的帮助!

0 个答案:

没有答案