2016-03-02 116 views
0

我試圖在Firebase中鏈接/合併auth提供程序,但是我想知道這是否能解決相似的問題。一旦用戶通過電子郵件和密碼身份驗證登錄到Firebase,我可以使用谷歌身份驗證來鏈接用戶Youtube視頻?

我可以使用Firebase電子郵件&密碼驗證登錄一個用戶,然後在他們的個人資料頁面上使用google auth,以便我可以獲取他們的訪問令牌以訪問他們的YouTube視頻嗎?

然後,當我設置用戶時,我將使用他們的密碼和電子郵件,但通過谷歌用戶名以備將來使用,以便我可以訪問他們的視頻。

//使用的代碼示例

更新後的問題所以一開始,我只是簽約用戶在與谷歌和YouTube的參數傳遞,這樣我可以訪問用戶的視頻。這是我的Firebase身份驗證與谷歌功能下面。

$scope.authWithGoogle = function() { 
    var scope = { 
     scope:'https://www.googleapis.com/auth/youtube' 
    }; 
    Auth.$authWithOAuthRedirect("google", scope).then(function(authData) { 
     $scope.loggedInUser = authData; 
    }).catch(function(error) { 
     if(error.code === "TRANSPORT_UNAVAILABLE") { 
     Auth.$authWithOAuthPopup("google", scope).then(function(authData) { 
      $scope.loggedInUser = authData; 
     }); 
     } else { 
     console.log(error); 
    } 
    }); 
    }; 

這只是驗證用戶,並沒有在數據中存儲任何東西..我想。所以現在我希望能夠通過電子郵件和密碼實現登錄,這樣即使沒有Google帳戶,每個人都可以登錄。

我只是想知道我是否可以用電子郵件和密碼驗證用戶,然後一旦他們登錄使用此功能,以允許用戶通過谷歌認證並將他們的視頻鏈接到他們的帳戶?然後,當我設置我的用戶數據時,我可以保存視頻的訪問令牌,以便稍後訪問它們。我只是想知道這是否是一種可能的解決方法,而不是試圖將電子郵件和密碼與谷歌帳戶相關聯,或者如果它太hacky。

最終,如果我可以登錄用戶的電子郵件和密碼,然後鏈接他們的谷歌帳戶,一旦他們登錄,這將是我想要的行爲,但我只是無法找到如何做這個。

+0

我不知道你在這裏是什麼意思。你能否添加一些代碼來證明你已經完成了什麼以及你遇到了什麼問題? –

+0

嘿弗蘭克謝謝你的回覆我已經更新了這個問題,希望能更好地澄清我的問題。再次感謝你。 –

回答

1

在Firebase身份驗證中,用戶一次只能登錄一個身份提供者。因此,他們可以在您的用例中登錄到電子郵件+密碼或谷歌,而不是兩者。

用戶可以在不使用Firebase身份驗證的情況下登錄Google身份驗證,然後自行關聯這兩者。但由於這不是Firebase內置的,因此沒有關於如何執行此操作的文檔。

+1

謝謝你的回答我不確定這是否可能,所以我想在我走向那條路之前確定。 –

相關問題