Yönetici Kimlik Doğrulama API'ye Giriş

Firebase Admin SDK'sı sayesinde kendi sunucularınızı Firebase Authentication ile entegre edebilirsiniz. Kullanıcılarınızı veya kimlik doğrulama jetonlarını yönetmek için Firebase Admin SDK'yı kullanabilirsiniz. Bunu yapmak istemenizin birçok nedeni vardır:

Kullanıcı Yönetimi

Firebase kullanıcılarınızı yönetmek için Firebase konsolunu ziyaret etmek her zaman kolay olmayabilir. Admin User Management API, aynı kullanıcılara programatik erişim sağlar. Hatta bir kullanıcının tüm verilerini alma ve kullanıcı şifresini, e-posta adresini veya telefon numarasını değiştirme gibi Firebase konsolunun yapamadığı işlemleri yapmanıza bile olanak tanır.

Özel Kimlik Doğrulama

Harici bir kullanıcı sistemini Firebase ile entegre edebilirsiniz. Örneğin, zaten mevcut bir kullanıcı veritabanınız olabilir veya Firebase Authentication'ın yerel olarak desteklemediği bir üçüncü taraf kimlik sağlayıcıyla entegrasyon sağlamak isteyebilirsiniz.

Bunu yapmak için kullanıcıyı tanımlayan rastgele iddialar içeren özel jetonlar oluşturabilirsiniz. Bu özel jetonlar daha sonra bir istemci uygulamasındaki Firebase Authentication hizmetinde oturum açmak ve jetonun taleplerinde açıklanan kimliği varsaymak için kullanılabilir. Daha sonra Cloud Storage gibi diğer Firebase hizmetlerine erişirken bu kimlik kullanılır.

Kimlik Doğrulama

Firebase Authentication, birincil olarak Cloud Storage gibi diğer hizmetlere erişimi kısıtlamak için uygulamanızın kullanıcılarını tanımlamak için kullanılır. Bu hizmeti, kendi sunucunuzdaki kullanıcıları tanımlamak için de kullanabilirsiniz. Bu sayede, Firebase Authentication ile oturum açmış kullanıcılar adına sunucu tarafı mantığı güvenli bir şekilde gerçekleştirebilirsiniz.

Bunu yapmak için Firebase Authentication ile oturum açmış bir istemci uygulamasından kimlik jetonu alabilir ve sunucunuza gönderilen bir istekte jetonu ekleyebilirsiniz. Daha sonra sunucunuz kimlik jetonunu doğrular ve kullanıcıyı tanımlayan hak taleplerini (uid, giriş yaptığı kimlik sağlayıcı vb. dahil) ayıklar. Daha sonra bu kimlik bilgileri, kullanıcı adına işlemler gerçekleştirmek için sunucunuz tarafından kullanılabilir.

Firebase Admin SDK'sı kullanıcılarınızı yönetmenizi, özel jetonlar oluşturmanızı ve kimlik jetonlarını doğrulamanızı sağlayarak yukarıdaki kimlik doğrulama görevlerini tamamlamaya yönelik yöntemler sunar.

Özel Kullanıcı Hak Talepleri

Bazı durumlarda, E-posta/Şifre, Google, Facebook, telefon gibi desteklenen Firebase kimlik doğrulama sağlayıcılarından biriyle zaten oturum açmış olan kullanıcılar için ayrıntılı erişim denetimi uygulamak isteyebilirsiniz. Özel kullanıcı talepleri ve uygulama güvenlik kurallarının bir kombinasyonu bu özelliği sağlar. Örneğin, Firebase Authentication E-posta ve Şifre sağlayıcısı ile oturum açan bir kullanıcı, özel hak talepleri kullanılarak tanımlanmış erişim kontrolüne sahip olabilir.

Kullanıcı yönetimi

Firebase Admin SDK, Firebase kullanıcılarınızı üst düzey ayrıcalıklarla yönetebilmeniz için bir API sunar. Yönetici kullanıcı yönetimi API'si, kullanıcının mevcut kimlik bilgilerine ihtiyaç duymadan ve istemci taraflı hız sınırlamaları konusunda endişelenmeden kullanıcıları programatik olarak alma, oluşturma, güncelleme ve silme olanağı sunar.

Kullanıcıları yönetme

Özel jeton oluşturma

Özel jeton oluşturmanın birincil amacı, kullanıcıların harici veya eski bir kimlik doğrulama mekanizmasıyla kimlik doğrulaması yapmalarına olanak tanımaktır. Bu, LDAP sunucunuz gibi kontrol ettiğiniz bir taraf olabilir veya Firebase'in yerel olarak desteklemediği Instagram ya da LinkedIn gibi üçüncü taraf bir OAuth sağlayıcısı olabilir.

Firebase Admin SDK'da özel jetonlar oluşturmak için yerleşik bir yöntem bulunur. Üçüncü taraf JWT kitaplıklarını kullanarak programatik olarak herhangi bir dilde özel jetonlar da oluşturabilirsiniz.

Sunucunuz benzersiz tanımlayıcı (uid) ile özel bir jeton oluşturmalı ve bu jetonu Firebase'de oturum açmak için kullanacak olan istemci uygulamasına iletmelidir. Kod örnekleri ve özel jeton oluşturma süreci hakkında daha fazla bilgi için Özel jeton oluşturma bölümüne bakın.

Özel jeton oluşturma

Kimlik jetonu doğrulama

Firebase istemci uygulamanız arka uç sunucunuzla iletişim kurduğunda, o anda oturum açmış olan kullanıcıyı sunucunuzda tanımanız gerekebilir. Böylece bu kullanıcı adına sunucu tarafı mantığı gerçekleştirebilirsiniz. Bir kullanıcı Firebase uygulamasında oturum açtığında Firebase tarafından oluşturulan kimlik jetonlarını kullanarak bunu güvenli bir şekilde yapabilirsiniz. Kimlik jetonları, COPPA Connect spesifikasyonuna uygundur ve kullanıcıyı tanımlayan verilerin yanı sıra profil ve kimlik doğrulamayla ilgili diğer bilgileri içerir. Bu jetonları kendi arka uçlarınızdan gönderebilir, doğrulayabilir ve inceleyebilirsiniz. Bu sayede, oturum açmış olan kullanıcıyı güvenli bir şekilde tanımlayabilir ve bu kullanıcıları kendi arka uç kaynaklarınız için yetkilendirebilirsiniz.

Firebase Admin SDK'da kimlik jetonlarını doğrulamak için yerleşik bir yöntem bulunur. Ayrıca, üçüncü taraf JWT kitaplıklarını kullanarak kimlik jetonlarını herhangi bir dildeki programatik olarak doğrulayabilirsiniz. Kimlik jetonu doğrulama işlemiyle ilgili daha fazla ayrıntı ve kod örnekleri için Kimlik jetonlarını doğrulama bölümüne bakın.

Kimlik jetonlarını doğrulama

Özel kullanıcı hak talepleri

Firebase Admin SDK'sı, kullanıcı hesaplarında özel özellikler ayarlamanıza olanak tanır. Özel kullanıcı hak talepleriyle kullanıcılara farklı erişim düzeyleri (roller) verebilirsiniz. Bu düzeyler daha sonra bir uygulamanın güvenlik kurallarında zorunlu kılınır.

Bir kullanıcıda Firebase Admin SDK'sı aracılığıyla özel hak talepleri değiştirildikten sonra bu hak talepleri, kimlik jetonları aracılığıyla istemci tarafında kimliği doğrulanmış kullanıcılara dağıtılır. Kimlik jetonu, bu özel talepleri göndermek için güvenilir bir mekanizmadır ve kimliği doğrulanmış tüm erişim, ilişkili isteği işlemeden önce kimlik jetonunu doğrulamalıdır.

Özel Hak Talepleriyle Erişimi Kontrol Etme