Özel Kimlik Doğrulama Sistemi Kullanarak Firebase ile Kimlik Doğrulama

Kimlik doğrulama sunucunuzu, bir kullanıcı başarılı bir şekilde oturum açtığında özel imzalı jetonlar üretecek şekilde değiştirerek Firebase Authentication'ı özel bir kimlik doğrulama sistemiyle entegre edebilirsiniz. Uygulamanız bu jetonu alır ve Firebase ile kimlik doğrulamak için kullanır.

Sen başlamadan önce

  1. Henüz yapmadıysanız Başlangıç ​​kılavuzundaki adımları izleyin.
  2. Firebase Admin SDK'yı yükleyin ve yapılandırın . Firebase projeniz için SDK'yı doğru kimlik bilgileriyle başlattığınızdan emin olun.

Firebase ile kimlik doğrulama

  1. Kullanıcılar uygulamanızda oturum açtığında oturum açma kimlik bilgilerini (örneğin, kullanıcı adları ve parolaları) kimlik doğrulama sunucunuza gönderin. Sunucunuz kimlik bilgilerini kontrol eder ve geçerliyse özel bir Firebase jetonu oluşturur ve jetonu uygulamanıza geri gönderir.

  2. Kimlik doğrulama sunucunuzdan özel belirteci aldıktan sonra, kullanıcının oturum açması için signInWithCustomToken() öğesine iletin:

    try {
        final userCredential =
            await FirebaseAuth.instance.signInWithCustomToken(token);
        print("Sign-in successful.");
    } on FirebaseAuthException catch (e) {
        switch (e.code) {
            case "invalid-custom-token":
                print("The supplied token is not a Firebase custom auth token.");
                break;
            case "custom-token-mismatch":
                print("The supplied token is for a different Firebase project.");
                break;
            default:
                print("Unknown error.");
        }
    }
    

Sonraki adımlar

Bir kullanıcı yeni bir hesap oluşturduktan sonra bu hesap, Firebase projenizin bir parçası olarak depolanır ve kullanıcının hangi oturum açma yöntemini kullandığına bakılmaksızın, projenizdeki her uygulamada bir kullanıcıyı tanımlamak için kullanılabilir.

Uygulamalarınızda kullanıcının temel profil bilgilerini User nesnesinden alabilirsiniz. Bkz . Kullanıcıları Yönetme .

Firebase Gerçek Zamanlı Veritabanı ve Bulut Depolama Güvenliği Kurallarınızda, oturum açan kullanıcının benzersiz kullanıcı kimliğini auth değişkeninden alabilir ve bunu, kullanıcının hangi verilere erişebileceğini kontrol etmek için kullanabilirsiniz.

Kimlik doğrulama sağlayıcısı kimlik bilgilerini mevcut bir kullanıcı hesabına bağlayarak kullanıcıların birden fazla kimlik doğrulama sağlayıcısı kullanarak uygulamanızda oturum açmasına izin verebilirsiniz.

Bir kullanıcının oturumunu kapatmak için signOut() öğesini çağırın:

await FirebaseAuth.instance.signOut();