2016-10-18 6 views
1

特定のメールで現在ログインしている認証プロバイダ/プロバイダを特定する必要があります。誰かがfb、google、twitter、github、emailメソッドの完全なメソッドを私に提供してくれればとても良いことになるでしょう。FirebaseのfetchProvidersForEmail()のDetemine Authプロバイダ

私はインターネットやFirebaseのどこにいても、それを特定するためのコードを見つけることはできません。これは私のコードです。

mAuth.fetchProvidersForEmail(email[0]).addOnCompleteListener(new OnCompleteListener<ProviderQueryResult>() { 
    @Override 
    public void onComplete(@NonNull Task<ProviderQueryResult> task) { 
     if (task.isSuccessful()) { 

      //What to do ??             } 
    } 
}); 

ありがとうございます。ユーザーがプロバイダー取得するには、次のコードを使用することができますあなたの中にログインしている場合

答えて

1

インサイドonCompleteのを()、あなたはリストが含まれている、バックProviderQueryResultを取得するにはtask.getResult()を呼び出すことができますそのユーザーが使用しているAuthプロバイダの一覧です。

+0

うん、うまくいったよ、 –

+0

'task.getResult()'は 'List 'を返し、 'String []'は返さないことに注意してください。 –

0

FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser(); 
String providerId = firebaseUser.getProviderData().get(1).getProviderId(); 
+0

ユーザがログインしていないため、Firebaseデータベースにすでに存在するユーザを確認する必要があります。 –

関連する問題