2017-04-20 93 views
1

我正在通过一个教程来实现我的示例Web站点的Facebook社交日志。以下是我所做的步骤。Facebook的社会登录不工作在ASP.Net MVC 5项目

  1. 将我的本地主机应用程序指向https并允许在VS中伪造SSL。
  2. 在Facebook开发人员网站中创建了一个Web应用程序,并记下了密钥和标识。
  3. 在facebook中的仪表板的URL部分添加了我的应用程序localhost URL
  4. 我在ASP.Net MVC-5项目的starup.Auth.cs文件中添加了key和id。

水煤浆:现在,当我运行从本地主机(HTTPS)和click Register我的应用程序,然后我看到了facebook sign in button。另外,当我点击该按钮时,一个facebook弹出窗口随附“示例应用程序”想要访问您的Facebook数据。到现在为止还挺好。但正如我所说的YES之后没有任何反应。我被重定向到登录页面。和URL是https://localhost:44393/Account/Login#_=_

预期的行为:对于我上面做继教程步骤一条消息出现在导师屏幕“Facebook已经验证....输入您的电子邮件继续”。像这样的东西。有人可以在这里指导我为什么我没有收到同样的信息,为什么我不能使用社交登录。我试图按照所有步骤操作。

预期从截图教程 enter image description here

有我需要在Facebook开发人员仪表板做任何其他步骤?

编辑1:

在Facebook开发人员仪表板为我在Facbook登录标签 - >设置应用:我看到下面的消息。

enter image description here

编辑2:我调试,发现RETURNURL当我点击链接在Facebook上的日志。

[AllowAnonymous] 
     public async Task<ActionResult> ExternalLoginCallback(string returnUrl) 
     { 
      var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync(); 
      if (loginInfo == null) 
      { 
       return RedirectToAction("Login"); 
      } 

      // Sign in the user with this external login provider if the user already has a login 
      var result = await SignInManager.ExternalSignInAsync(loginInfo, isPersistent: false); 

回答

5

好吧,研究后,我发现我需要从NuGet包管理器安装包Install-Package Microsoft.Owin.Security.Facebook。之后,这一切工作正常。

+0

我有上面的错误 - 而这个包已经被安装。如果我使用个人身份验证创建vanilla MVC项目,会发生这种情况。 – niico

+0

尝试卸载并重新安装。只是说。 – Unbreakable

+0

这是一个全新的香草mvc应用程序 - 身份选择。卸载并重新安装在一个全新的应用程序是毫无意义的。 – niico

0

您还可能需要将URI本地主机添加到有效的OAuth ...在Facebook应用程序上才能在登录成功时返回您的应用程序。

+0

我也这么认为。事实上,在我实施Google登录时,我不得不在google仪表板的设置中添加REDIRECT URI。但对于脸书我没有放任何东西。即使在教程中,他们也没有提到将价值放在那里。 – Unbreakable

+0

理想情况下,我应该放。但我是初学者,我不知道如何在引擎盖下的一切工作。 – Unbreakable