• 20-05-2024, 19:26:27
    #1
    Merhaba hocalarım. Android Studio ve Firebase kullanarak bir mağaza yönetim uygulaması tasarlamaya çalışıyorum. Öğrenmek için. Firebase'de Realtime Database kullandım. Programda her şeyi yaptım aslında, veritabanına kişileri ekleyebiliyorum. Aynı zamanda Authentication'a da ekleniyor tabii. Ama admin olarak giriş yapıp bu kullanıcıları silmek veya bilgilerini güncellemek istediğimde database'den siliyor ama Authentication'dan silemiyorum. Değişik bir sorun bunun mantığını çözemedim. Yardımlarınız için şimdiden teşekkür ederim
  • 20-05-2024, 19:40:57
    #2
    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

    1. Firebase Admin SDK'yı Projeye Ekleme
      1. build.gradle dosyasına gerekli bağımlılıkları ekleyin
        1. dependencies {    // Diğer bağımlılıklarınız
          implementation 'com.google.firebase:firebase-admin:8.0.1'
          }
    2. Admin SDK ile Kullanıcı Silme
      1. Admin SDK'yı kullanarak kullanıcıyı Firebase Authentication'dan silen bir metot oluşturun
        1. 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());
          }
          }
    3. Kullanıcı Silme İşlemi
      1. 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:
        1. // Kullanıcıyı Realtime Database'den silme kodunuz// ...
          
          // Kullanıcıyı Firebase Authentication'dan silme
          deleteUser(kullaniciUid);
  • 20-05-2024, 20:09:24
    #3
    Yardımınız için teşekkürler hocam ama bu kodlar çalışmıyor maalesef