Firebase Authentication ve Realtime Database'i birlikte kullanırken, kullanıcıları silme veya güncelleme işlemlerinin her iki hizmette de senkronize olduğundan emin olmanız gerekir. Firebase Authentication'dan kullanıcıları silmek veya güncellemek için Firebase Admin SDK'sını kullanabilirsiniz. İşte bu işlemi gerçekleştirmek için örnek bir yol:
Firebase Admin SDK ile Kullanıcı Silme
- Firebase Admin SDK'yı Projeye Ekleme
- build.gradle dosyasına gerekli bağımlılıkları ekleyin
dependencies { // Diğer bağımlılıklarınız
implementation 'com.google.firebase:firebase-admin:8.0.1'
}
- Admin SDK ile Kullanıcı Silme
- Admin SDK'yı kullanarak kullanıcıyı Firebase Authentication'dan silen bir metot oluşturun
import com.google.firebase.auth.FirebaseAuth;import com.google.firebase.auth.FirebaseAuthException;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.auth.UserRecord;
import com.google.firebase.FirebaseApp;
import com.google.firebase.FirebaseOptions;
// Firebase Admin SDK ile başlatma
FirebaseOptions options = new FirebaseOptions.Builder()
.setCredentials(GoogleCredentials.getApplicationDefault())
.setDatabaseUrl("https://<DATABASE_NAME>.firebaseio.com/")
.build();
FirebaseApp.initializeApp(options);
public void deleteUser(String uid) {
try {
FirebaseAuth.getInstance().deleteUser(uid);
System.out.println("Successfully deleted user.");
} catch (FirebaseAuthException e) {
e.printStackTrace();
System.out.println("Error deleting user: " + e.getMessage());
}
}
- Kullanıcı Silme İşlemi
- Admin olarak giriş yaptıktan sonra, kullanıcıyı hem Realtime Database'den hem de Authentication'dan silmek için bu metodu çağırın:
// Kullanıcıyı Realtime Database'den silme kodunuz// ...
// Kullanıcıyı Firebase Authentication'dan silme
deleteUser(kullaniciUid);