0
我在我的Google Chrome應用中使用了Firebase。由於Chrome應用沒有域名和回叫網址,因此我需要使用令牌進行授權,而不是彈出窗口。Firebase authWithOAuthToken無法正常工作
我有問題,即使在瀏覽器中,authWithOAuthToken也能正常工作。
在此代碼示例中,第一次調用authWithOAuthPopup的作品時,我得到了包含github帳戶信息和我的令牌的popupData。問題是第二次調用authWithOAuthToken不起作用。我得到一個錯誤
db.authWithOAuthPopup("github", function(error, popupData) {
if (error) {
console.log("Login Failed!", error);
} else {
console.log("Authenticated successfully with payload: ", popupData);
console.log("Now attempting to Authorize with Token...");
db.authWithOAuthToken("github", popupData.token, function (err, tokenData) {
if (err) {
console.log("Login Failed!", err);
} else {
console.log("Authenticated successfully", tokenData);
}
});
}
});
我的控制檯輸出顯示的第一個電話的工作,第二個呼叫失敗:
bundle.js:20498 Authenticated successfully with payload: Object
Now attempting to Authorize with Token...
Login Failed! Error: Invalid authentication credentials provided.(…)
我怎樣才能得到authWithOAuthToken工作?
這沒有意義。爲什麼這將是必要的?看起來像[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem/66378#66378) – Kato
該減少的測試用例成功執行authWithOAuthoPopup並從該回調。但是,如果我嘗試在authWithOAuthToken中使用該標記,則會出現錯誤。 我只需要authWithOAuthToken就可以工作,因爲我打算從Chrome應用進行該調用。但是,我從來沒有見過它的工作。即使在瀏覽器中,即使在我收到成功的令牌之後,我仍然無法正常工作......正如本例中所演示的那樣。 我希望這個錯誤可以用這個代碼重現...一個調用工作,第二個調用失敗。我怎樣才能使第二個認證通話工作呢? – Tabbyofjudah
因此,您正在對Firebase API進行單元測試;第三方庫?或試圖從Facebook測試生成的令牌?兩者看起來都是多餘的測試。 – Kato