2014-12-06 62 views
0

我試圖在Chrome擴展中實現Firebase登錄(通過Facebook)。當使用Chrome擴展中的authWithOAuthPopup時,「用戶取消了身份驗證」

我使用background.js腳本

var ref = new Firebase("https://DB.firebaseio.com");  
ref.authWithOAuthPopup("facebook", function(error, authData) { 
    alert(error); 
}); 

的authData爲空,並提出錯誤是「火力地堡:用戶取消認證」中的以下代碼。

使用電子郵件/密碼登錄似乎沒有問題。

這裏怎麼回事?

回答

4

很可能Chrome瀏覽器不允許您從Chrome擴展程序中啓動彈出窗口,這是預期的。您看到的錯誤是由於彈出窗口過早關閉導致的 - 在這種情況下,瀏覽器強制執行,但與用戶禁止的彈出窗口無法區分。

由於瀏覽器擴展沒有任何「來源」的概念,即其內容不是來自外部域的服務器,所以它們不適用於OAuth彈出窗口和重定向流,因爲驗證應用程序無法驗證訪問域。

我建議在真正的託管域上創建一個網頁,以便與您的擴展一起使用,並在身份驗證完成後與擴展進行通信。

相關問題