1
我試圖使用Facebook本機和Angularfire2(2.0.0-beta.2)登錄到我的Ionic 2應用程序,但即使我成功獲取訪問令牌,無論如何我嘗試將它傳遞給angularfire的auth.login函數,但它仍然會引發無效的憑據錯誤。Angularfire2中無效憑證錯誤oauth登錄
這裏是我的配置:
firebaseAuthConfig({
provider: AuthProviders.Facebook,
method: AuthMethods.OAuthToken,
remember: "default",
scope: ["email"]
})
這裏是我的登錄功能:
login() {
Facebook.login(["public_profile", "email", "user_friends"])
.then((success) => {
console.log("Facebook success: " + JSON.stringify(success));
this.af.auth.login(success.authResponse.accessToken, { provider: AuthProviders.Facebook })
.then((success) => {
console.log("Firebase success: " + JSON.stringify(success));
})
.catch((error) => {
console.log("Firebase failure: " + JSON.stringify(error));
});
})
.catch((error) => {
console.log("Facebook failure: " + JSON.stringify(error));
});
}
這裏是我在我的console.log得到錯誤:
Facebook failure: {"code":"auth/argument-error","message":"signInWithCredential failed: First argument \"credential\" must be a valid credential."}
有趣的是,它在Facebook層面被捕獲,而不是我爲auth.login設置的捕獲。我試圖以幾種不同的方式傳遞它,包括作爲一個對象{ token: success.authResponse.accessToken }
,我現在處於虧損狀態。任何人都可以幫我看看我做錯了什麼嗎?謝謝!
此外,我不認爲這是相關的,但以防萬一它是我也收到「操作已超時錯誤」,這是沒有被捕獲,但似乎是由我的this.af.auth拋出。訂閱呼叫。該應用程序運行良好,但也許這可能是什麼使登錄失敗?
謝謝!那麼它改變了錯誤,所以我認爲這是朝着正確的方向前進......現在我登錄後得到一個完全空的錯誤。它只是說「Facebook失敗:{}」。你有什麼想法,爲什麼這可能是? – Cameron637
只是嘗試將範圍設置爲電子郵件...確保您已正確配置Facebook應用程序..我將發佈完整的應用程序...但我懷疑現在是一個配置問題。 –
看來我說得太快了。它沒有識別登錄功能範圍內的「firebase」,所以我修正了這個錯誤,現在我仍然得到無效的憑據錯誤。我會繼續努力的,我認爲你已經幫助過我,所以我會鼓勵你的答案,但已經很晚了,明天我必須繼續關注它。 – Cameron637