我遗漏了一些非常明显的东西。我已经从asp.net实现了使用 Facebook 登录教程,然后我创建了一个移动 MVC 4 网站。
我创建了一个 AuthConfig,它调用:
OAuthWebSecurity.RegisterFacebookClient(
appId: "...",
appSecret: "...");
然后,在 Views/Home/Login.cshtml 中,我创建了一个按钮
<li>@Html.ActionLink("Log in with Facebook", "FacebookLogin")</li>
最后,在 /Controllers/HomeController.cs 我添加了:
public ActionResult FacebookLogin()
{
return new FacebookLoginResult(this.Url.Action("ExternalLoginCallback"));
}
[AllowAnonymous]
public ActionResult ExternalLoginCallback(string returnUrl)
{
AuthenticationResult result = OAuthWebSecurity.VerifyAuthentication(Url.Action("ExternalLoginCallback", new { ReturnUrl = returnUrl }));
if (!result.IsSuccessful)
{
...
(为了完整起见,FacebookLogin result 是一个继承自 ActionResult 并调用
OAuthWebSecurity.RequestAuthentication("facebook", "/Home/ExternalLoginCallback");
在 ExecuteResult() 覆盖中。当我单步执行它时,我看到按钮被按下,我看到 ExecuteResult() 被调用,但它从未到达 ExternalLoginCallback()。整个过程只是出错了。我可能遗漏了一些非常简单且非常明显的东西,但除此之外,我怎样才能启用更多扩展日志记录以查看它在哪里发生故障?我将 IIS Express 用于有效的 MVC 站点和无效的 MVC 移动站点。
谢谢!