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

Kimlik doğrulama sunucunuzu, kullanıcı başarılı bir şekilde oturum açtığında özel imzalı jetonlar oluşturacak ş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.

Başlamadan önce

  1. Henüz yapmadıysanız Başlarken kılavuzundaki adımları uygulayın.
  2. Firebase Admin SDK'yı yükleyip yapılandırın. SDK'yı Firebase projenizin 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 (ör. kullanıcı adı ve şifre) kimlik doğrulama sunucunuza gönderin. Sunucunuz kimlik bilgilerini kontrol eder ve geçerli olmaları durumunda özel bir Firebase jetonu oluşturur ve jetonu uygulamanıza geri gönderir.

  2. Kimlik doğrulama sunucunuzdan özel jetonu aldıktan sonra, kullanıcının oturumunu açmak için jetonu signInWithCustomToken()'ya 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 saklanır ve kullanıcının kullandığı oturum açma yönteminden bağımsız olarak projenizdeki her uygulamada kullanıcıyı tanımlamak için kullanılabilir.

Uygulamalarınızda, kullanıcının temel profil bilgilerini User nesnesinden alabilirsiniz. Kullanıcıları yönetme başlıklı makaleyi inceleyin.

Firebase Realtime Database ve Cloud Storage güvenlik kurallarınızda, oturum açmış kullanıcının benzersiz kullanıcı kimliğini auth değişkeninden alabilir ve kullanıcının hangi verilere erişebileceğini kontrol etmek için kullanabilirsiniz.

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

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

await FirebaseAuth.instance.signOut();