2

私はFirebase Authを使ってモバイルの最初のアプリを開発しています。 Firebaseはポップアップの代わりにリダイレクトを推奨します。しかし、私はOauthプロバイダ(facebook、Google)を使用してエラーを取得する例は見当たりません。 FirebaseはSignwithPopupでエラーを処理する例がありますが、フォアそれをリダイレクトするだけ述べている:firebase Authを使用してリダイレクトエラーを取得して処理する方法は?

このエラーは、保留中の資格は、ページ間でキャッシュされなければなら 違いと、リダイレクトモードで同様の方法で処理されます リダイレクト(たとえば、セッションストレージを使用)。ここcatchで、具体的this page内だけを検索「(firebase.auth)getRedirectResult()。」:

+0

何か試しましたか?もしそうなら:あなたが立ち往生している場所の最小限のコードを表示してください。 –

+0

インスピレーション:https://github.com/firebase/quickstart-js/blob/master/auth/facebook-redirect.html –

答えて

3

私たちは、同じドキュメントの前のセクションでリダイレクト操作のエラー処理を行うことを示し

firebase.auth().getRedirectResult().then(function(result) { 
    if (result.credential) { 
    // This gives you a Google Access Token. You can use it to access the Google API. 
    var token = result.credential.accessToken; 
    // ... 
    } 
    // The signed-in user info. 
    var user = result.user; 
}).catch(function(error) { 
    // Handle Errors here. 
    var errorCode = error.code; 
    var errorMessage = error.message; 
    // The email of the user's account used. 
    var email = error.email; 
    // The firebase.auth.AuthCredential type that was used. 
    var credential = error.credential; 
    // ... 
}); 

ところで、複数の認証プロバイダを追加してリンクアカウントを完全に処理することは、実際には非常に難しいです(例えば、ユーザーがリンクしたいが電子メールは一致しません...)。これらすべてのトリッキーなフローを処理する設定可能なUIコンポーネントを提供するFirebase UIを使用することをお勧めします。

関連する問題