2017-04-20 91 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