Yönetici Yetkilendirme API'sına giriş
Firebase Yönetici SDK'sı, kendi sunucularınızı Firebase Kimlik Doğrulaması ile entegre etmenizi sağlar. Firebase Yönetici SDK'sını kullanıcılarınızı yönetmek veya kimlik doğrulama jetonlarını yönetmek için kullanabilirsiniz. Bunu yapmak istemenizin birkaç nedeni vardır:
Firebase kullanıcılarınızı yönetmek için Firebase konsolunu ziyaret etmek her zaman uygun değildir. Yönetici kullanıcı yönetimi API'si, aynı kullanıcılara programlı erişim sağlar. Hatta bir kullanıcının tam verilerini almak ve kullanıcının şifresini, e-posta adresini veya telefon numarasını değiştirmek gibi Firebase konsolunun yapamayacağı şeyleri bile yapmanızı sağlar.
Özel Kimlik Doğrulama
Harici bir kullanıcı sistemini Firebase ile entegre edebilirsiniz. Örneğin, önceden var olan bir kullanıcı veritabanınız olabilir veya Firebase Kimlik Doğrulamasının yerel olarak desteklemediği bir üçüncü taraf kimlik sağlayıcısıyla entegre etmek isteyebilirsiniz.
Bunu yapmak için, kullanıcıyı tanımlayan keyfi hak talepleriyle özel jetonlar oluşturabilirsiniz. Bu özel belirteçler daha sonra bir istemci uygulamasında Firebase Kimlik Doğrulama hizmetinde oturum açmak ve belirtecin taleplerinde açıklanan kimliği kabul etmek için kullanılabilir. Bu kimlik daha sonra Cloud Storage gibi diğer Firebase hizmetlerine erişilirken kullanılacaktır.
Firebase Kimlik Doğrulaması, öncelikle Cloud Storage gibi diğer hizmetlere erişimi kısıtlamak amacıyla uygulamanızın kullanıcılarını tanımlamak için kullanılır. Bu hizmeti kendi sunucunuzda bu kullanıcıları tanımlamak için de kullanabilirsiniz. Bu, Firebase Kimlik Doğrulaması ile oturum açan kullanıcılar adına sunucu tarafı mantığını güvenli bir şekilde gerçekleştirmenizi sağlar.
Bunu yapmak için, Firebase Kimlik Doğrulaması ile oturum açmış bir istemci uygulamasından bir kimlik jetonu alabilir ve jetonu sunucunuza bir istekte ekleyebilirsiniz. Sunucu daha sonra belirteç kimliğini doğrular ve (onların dahil kullanıcıyı tanımlamak iddiaları ayıklar uid , onlar ile oturum kimlik sağlayıcı, vs.). Bu kimlik bilgileri daha sonra sunucunuz tarafından kullanıcı adına işlem yapmak için kullanılabilir.
Not: Bu belgede kendi kimlik doğrulama jetonlarınızı nasıl yöneteceğiniz açıklanmaktadır. Bunun yerine Firebase Gerçek Zamanlı Veritabanına erişmek için Yönetici SDK'sının nasıl doğrulanacağına ilişkin belgeler arıyorsanız Yönetici Veritabanı API'sına Giriş konusuna bakın.
Firebase Admin SDK, kullanıcılarınızı yönetmenize, özel jetonlar oluşturmanıza ve kimlik jetonlarını doğrulamanıza olanak sağlayarak yukarıdaki kimlik doğrulama görevlerini gerçekleştirmek için yöntemler sunar.
Özel Kullanıcı 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ış kullanıcılar için ayrıntılı erişim kontrolü uygulamak isteyebilirsiniz. Özel kullanıcı talepleri ve uygulama güvenliğinin bir kombinasyonu kurallar bu yeteneği sağlar. Örneğin, Firebase Kimlik Doğrulama E-postası ve Parola sağlayıcısı ile oturum açan bir kullanıcı, özel hak talepleri kullanılarak tanımlanmış erişim kontrolüne sahip olabilir.
Firebase Yönetici SDK'sı, Firebase kullanıcılarınızı yükseltilmiş ayrıcalıklarla yönetmek için bir API sağlar. Yönetici kullanıcı yönetimi API'si, bir kullanıcının mevcut kimlik bilgilerine ihtiyaç duymadan ve istemci tarafı ücret sınırlaması konusunda endişelenmeden kullanıcıları programlı olarak alma, oluşturma, güncelleme ve silme olanağı sağlar.
Özel belirteçler oluşturmak için birincil kullanım, kullanıcıların harici veya eski bir kimlik doğrulama mekanizmasına karşı kimlik doğrulaması yapmasına izin vermektir. Bu, LDAP sunucunuz gibi kontrol ettiğiniz veya Instagram veya LinkedIn gibi Firebase'in yerel olarak desteklemediği bir üçüncü taraf OAuth sağlayıcısı olabilir.
Firebase Yönetici SDK'sında özel jetonlar oluşturmak için yerleşik bir yöntem vardır. Ayrıca, üçüncü taraf JWT kitaplıklarını kullanarak herhangi bir dilde programlı olarak özel belirteçler oluşturabilirsiniz.
Sunucunuz benzersiz bir tanımlayıcıya ( uid ) sahip özel bir belirteç oluşturmalı ve bu belirteci Firebase'de oturum açmak için kullanacak bir istemci uygulamasına iletmelidir. Bkz özel belirteçleri oluşturma kod örnekleri ve özel belirteç oluşturma süreci hakkında daha fazla ayrıntı için.
Not: Firebase Gerçek Zamanlı Veritabanına kendi sunucunuzdan bağlanmanız gerekiyorsa, özel belirteçler kullanmayın. Bunun yerine, sınırlı ayrıcalıklarla kimlik doğrulaması yapmak için bir Firebase Yönetici SDK'sı kullanın.
Kimlik kodu doğrulaması
Firebase istemci uygulamanız arka uç sunucunuzla iletişim kurarsa, sunucu tarafında şu anda oturum açmış olan kullanıcıyı tanımlamanız gerekebilir, böylece onların adına sunucu tarafı mantığı gerçekleştirebilirsiniz. Bunu, bir kullanıcı bir Firebase uygulamasında oturum açtığında Firebase tarafından oluşturulan kimlik belirteçlerini kullanarak güvenli bir şekilde yapabilirsiniz. Kimlik belirteçleri, OpenID Connect spesifikasyonuna uygundur ve bir kullanıcıyı tanımlamak için verilerin yanı sıra profil ve kimlik doğrulamasıyla ilgili bazı bilgiler içerir. Bu simgeleri kendi arka uçlarınızdan gönderebilir, doğrulayabilir ve inceleyebilirsiniz. Bu, oturum açmış olan kullanıcıyı güvenli bir şekilde tanımlamanıza ve bunları kendi arka uç kaynaklarınızda yetkilendirmenize olanak tanır.
Firebase Yönetici SDK'sında kimlik belirteçlerini doğrulamak için yerleşik bir yöntem vardır. Üçüncü taraf JWT kitaplıklarını kullanarak herhangi bir dilde kimlik belirteçlerini program aracılığıyla da doğrulayabilirsiniz. Bkz İD belirteçleri doğrulama ID jetonu doğrulama işlemi hakkında daha fazla bilgi ve kod örnekleri için.
Not: Sunucunuzun Firebase Gerçek Zamanlı Veritabanına bu kullanıcı olarak erişmek gibi kullanıcı işlemlerini taklit etmesini istiyorsanız, önce o kullanıcı için bir kimlik belirtecini doğrulamanız ve kodunu çözmeniz gerekir. Ardından, sınırlı ayrıcalıklarla kimlik doğrulaması bölümünde açıklandığı gibi, sunucunuzun ayrıcalıklarını sınırlamak için databaseAuthVariableOverride seçeneğini kullanın.
Firebase Yönetici SDK'sı, kullanıcı hesaplarında özel özellikler ayarlamanıza olanak tanır. Özel kullanıcı talepleriyle kullanıcılara farklı erişim düzeyleri (roller) verebilirsiniz; bunlar daha sonra uygulamanın güvenlik kurallarında uygulanır.
Bir kullanıcı üzerinde Firebase Yönetici SDK'sı aracılığıyla özel hak talepleri değiştirildikten sonra, kimlik belirteçleri aracılığıyla istemci tarafında kimliği doğrulanmış kullanıcılara yayılır. Kimlik belirteci, bu özel talepleri iletmek için güvenilir bir mekanizmadır ve kimliği doğrulanmış tüm erişim, ilişkili isteği işlemeden önce kimlik belirtecini doğrulamalıdır.