0

だから、あなたはそのエラーを取得するFirebaseアカウントのリンクエラー

auth/email-already-exists

事はあなたが3+認証方法、ありえない非常に特殊そのエラーメッセージを持っているとあれば、このような状況を処理するロジックを開発するために少しトリッキーなことができること、です。この問題をどうやって解決しますか?

答えて

4

firebase-admin sdkにemail-already-existがスローされます。私はそれがクライアントSDKにスローされたとは思わない。クライアントSDKについては 、次のエラーが別のものに既存のアカウントをリンクするときにスローされる、または電子メールを別の1に存在する新しいアカウントでログインすることになります。

  • 認証/アカウントが存在し-with-上記のすべてにおいて異なる-資格
  • AUTH /資格-既に使用中
  • AUTH /メール-既に使用中

、エラーが追加フィールド含まれていてもよい:

を210
  • error.email:資格自体(通常はこれはOAuthの資格情報が返されます)

既存を検索することができます:あなたは

  • error.credentialでサインインしようとした関連する資格のための電子メール何プロバイダがそれのために存在を見つけるためにアカウント:/アカウントは、存在している - と-異なる-資格認証のために

    firebase.auth().fetchProvidersForEmail(error.email) 
        .then(function(providers) { 
        // Providers would be an array of the form: 
        // ['password', 'google.com'] 
        }); 
    

    、あなたは、そのプロバイダのアカウントでログインして必要なリンクであればerror.credentialに署名することができますユーザー。

    firebase.auth().currentUser.link(error.credential); 
    

    エラーが(AUTH /資格-既に使用中)をリンクするとき、あなたが直接その資格

    firebase.auth().signInWithCredential(error.credential): 
    
    でサインインすることができますが発生した場合
  • 関連する問題