2

当我创建一个新的 asp.net webform .net 4.0 并配置 AuthConfig.cs 时,我正在使用 Microsoft.AspNet.Membership.OpenAuth:

OpenAuth.AuthenticationClients.AddFacebook(
                appId: "my appId",
                appSecret: "my appSecret");

在 Facebook 应用程序配置中:使用 Facebook 登录的网站:http ://www.tindep.com

但是,当我使用 facebook 登录时,出现错误:

Server Error in '/' Application.
The remote server returned an error: (400) Bad Request.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Net.WebException: The remote server returned an error: (400) Bad Request.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:


[WebException: The remote server returned an error: (400) Bad Request.]
   System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request) +283
   System.Net.WebClient.DownloadString(Uri address) +100
   DotNetOpenAuth.AspNet.Clients.FacebookClient.QueryAccessToken(Uri returnUrl, String authorizationCode) +235
   DotNetOpenAuth.AspNet.Clients.OAuth2Client.VerifyAuthentication(HttpContextBase context, Uri returnPageUrl) +142
   DotNetOpenAuth.AspNet.OpenAuthSecurityManager.VerifyAuthentication(String returnUrl) +239
   Microsoft.AspNet.Membership.OpenAuth.OpenAuthManager.VerifyAuthentication(HttpContextBase context, String returnUrl) +116
   Microsoft.AspNet.Membership.OpenAuth.OpenAuth.VerifyAuthentication(String returnUrl) +82
   EVNSoft.Website.Account.RegisterExternalLogin.ProcessProviderResult() +205
   EVNSoft.Website.Account.RegisterExternalLogin.Page_Load() +24
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +9808229
   System.Web.UI.Control.OnLoad(EventArgs e) +92
   System.Web.UI.Control.LoadRecursive() +54
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +772


Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.18055 

虽然谷歌、推特、msdn 登录成功(检查 tindep.com/Account/Login.aspx) 只是托管错误(tindep.com/Account/Login.aspx)。localhost:57846/Account/Login.aspx 登录facebook成功。

请帮我找原因。

非常感谢!

4

1 回答 1

1

存在与此相关的缺陷: https ://github.com/DotNetOpenAuth/DotNetOpenAuth/issues/203

但该库显然不再被维护: https ://github.com/DotNetOpenAuth/DotNetOpenAuth/issues/317#issuecomment-29580565

...尽管它仍然在许多 Microsoft 文档中被引用。调查与另一个缺陷相关的问题。

另请参阅:使用 oauth 的 facebook 登录在实时服务器上失败

于 2013-12-01T19:21:03.740 回答