0

マスターユーザーモジュールを作成しようとしていますが、このユーザーは他のユーザーを削除できます。他の質問から、ユーザーを削除する場合は、そのユーザーとしてログインする必要があります。そして、firebase authによって保存された資格情報でサインインすることができます。 (参考のために、私はgoogle、facebook、emailメソッドを使用しています)。Firebase Auth:AuthCredentialをインスタンス化できません

またFirebase Authに対応するFirebaseデータベースにUserエンティティを格納します。私は、私は、このユーザーをサインアップ(またはFacebookやGoogleアカウントでサインイン)するときに初めて設定され、私のユーザーにAuthCredentialインスタンスを保存

public class User { 
     // variables. 
     private String appId; 
     private String email; 
     private String name; 
     private String description; 
     private String photoUrl; 
     private boolean isAdmin; 
     private boolean isSuspended; 
     private boolean isDeleted; 
     private AuthCredential credential; 

     // all those getters and setters go here. 
} 

注意:ここに私のUserクラスです。 私がサインイン/サインアップするたびに、私はこのエラーを得た:

java.lang.RuntimeException: java.lang.InstantiationException: can't instantiate class com.google.firebase.auth.AuthCredential 

しかし、私は私のfirebaseデータベースをチェックして、資格情報が挿入されています。

1. FirebaseAuth using email and password. 電子メールとパスワードを使用したFirebase認証。

2. FirebaseAuth using google provider Google Baseプロバイダを使用しているFirebase認証。

私の質問は、firebaseデータベースに自分のユーザー資格情報を保存し、それを再度回復する正しい方法は何ですか? また、私がやっていることが正しいかどうかは分かりませんが、私の主張は、管理者ユーザーから別のユーザーを削除したいということです。それを行うには、私のマスターユーザーモジュールで、私は管理ユーザーの資格情報を保存するつもりです。次に、削除され、自分自身を削除し、管理ユーザーにストアされた管理ユーザーの資格情報を使って再サインインするユーザーとしてサインインします。これを達成する他の方法はありますか?

ありがとうございました。

EDITは、私はこれを行うたびにエラーを得た:私は私のユーザークラスにAuthCredentialインスタンスを追加する前に細かいです

User curUser = dataSnapshot.getValue(User.class); 

...。

答えて

0

private FirebaseAuth firebaseAuth;

firebaseAuth = FirebaseAuth.getInstance(); 


    //logging in the user 
    firebaseAuth.signInWithEmailAndPassword(email, password) 
      .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { 
       @Override 
       public void onComplete(@NonNull Task<AuthResult> task) { 
        progressDialog.dismiss(); 
        //if the task is successfull 
        if(task.isSuccessful()){ 
         //start the activity 
         finish(); 
         startActivity(new Intent(getApplicationContext(), Activity.class)); 
        } 
       } 
      }); 
-2

Authcredential au = new Authcredential();

これを試してみてください
関連する問題