Firebase Admin SDK, kendi sunucularınızı Firebase Authentication ile entegre etmenize olanak tanır. Kullanıcılarınızı yönetmek veya kimlik doğrulama jetonlarını yönetmek için Firebase Admin SDK simgesini kullanabilirsiniz. Bunu yapmanızın çeşitli nedenleri vardır:
Kullanıcı yönetimi
Firebase kullanıcılarınızı yönetmek için Firebase konsolunu ziyaret etmek her zaman uygun olmayabilir. Yönetici kullanıcı yönetimi API'si, bu kullanıcılara programatik erişim sağlar. Hatta Firebase konsolunun yapamadığı işlemleri (ör. kullanıcının tüm verilerini alma ve kullanıcının şifresini, e-posta adresini veya telefon numarasını değiştirme) yapmanıza da olanak tanır.
Özel Kimlik Doğrulama
Harici bir kullanıcı sistemini Firebase ile entegre edebilirsiniz. Örneğin, önceden oluşturulmuş bir kullanıcı veritabanınız olabilir veya Firebase Authentication yerel olarak desteklemeyen bir üçüncü taraf kimlik sağlayıcıyla entegrasyon yapmak isteyebilirsiniz.
Bunu yapmak için kullanıcıyı tanımlayan rastgele talepler içeren özel jetonlar oluşturabilirsiniz. Bu özel jetonlar daha sonra bir istemci uygulamasında Firebase Authentication hizmetinde oturum açmak ve jetonun taleplerinde açıklanan kimliği üstlenmek için kullanılabilir. Bu kimlik daha sonra Cloud Storage gibi diğer Firebase hizmetlerine erişirken kullanılır.
Kimlik doğrulama
Firebase Authentication, öncelikle Cloud Storage gibi diğer hizmetlere erişimi kısıtlamak için uygulamanızın kullanıcılarını tanımlamak amacıyla kullanılır. Bu hizmeti, kendi sunucunuzdaki bu kullanıcıları tanımlamak için de kullanabilirsiniz. Bu, Firebase Authentication ile oturum açan kullanıcılar adına sunucu tarafı mantığını güvenli bir şekilde uygulamanıza olanak tanır.
Bunu yapmak için Firebase Authentication ile oturum açmış bir istemci uygulamasından kimlik jetonu alabilir ve jetonu sunucunuza yapılan bir isteğe ekleyebilirsiniz. Ardından sunucunuz, kimlik jetonunu doğrulayıp kullanıcıyı tanımlayan talepleri (uid
, oturum açtığı kimlik sağlayıcı vb.) ayıklar. Bu kimlik bilgileri daha sonra sunucunuz tarafından kullanıcı adına işlem yapmak için kullanılabilir.
Firebase Admin SDK, kullanıcılarınızı yönetmenize, özel jetonlar oluşturmanıza ve kimlik jetonlarını doğrulamanıza olanak tanıyarak yukarıdaki kimlik doğrulama görevlerini gerçekleştirme yöntemleri sunar.
Özel Kullanıcı Hak Talepleri
Bazı durumlarda, desteklenen Firebase kimlik doğrulama sağlayıcılarından (ör. e-posta/şifre, Google, Facebook, telefon) biriyle oturum açmış olan kullanıcılar için ayrıntılı erişim kontrolü uygulamak isteyebilirsiniz. Özel kullanıcı talepleri ve uygulama güvenlik kurallarının birleşimi bu özelliği sağlar. Örneğin, Firebase Authentication E-posta ve Şifre sağlayıcısıyla oturum açan bir kullanıcının erişim kontrolü, özel talepler kullanılarak tanımlanabilir.
Kullanıcı yönetimi
Firebase Admin SDK, ayrıcalıkları yükseltilmiş kullanıcılarınızı yönetmek için bir API sağlar. Firebase Yönetici kullanıcı yönetimi API'si, kullanıcıların mevcut kimlik bilgilerini gerektirmeden ve istemci tarafı hız sınırlaması konusunda endişelenmeden kullanıcıları programatik olarak alabilme, oluşturabilme, güncelleyebilme ve silebilme olanağı sunar.
Kullanıcıları yönetmeÖzel jeton oluşturma
Özel jeton oluşturmanın temel amacı, kullanıcıların harici veya eski bir kimlik doğrulama mekanizmasına göre kimliklerini doğrulamasına izin vermektir. Bu, LDAP sunucunuz gibi kontrol ettiğiniz bir sunucu veya Firebase tarafından yerel olarak desteklenmeyen bir üçüncü taraf OAuth sağlayıcısı (ör. Instagram veya LinkedIn) olabilir.
Firebase Admin SDK, özel jeton oluşturmak için yerleşik bir yönteme sahiptir. Ayrıca üçüncü taraf JWT kitaplıklarını kullanarak herhangi bir dilde programatik olarak özel jetonlar oluşturabilirsiniz.
Sunucunuz, benzersiz bir tanımlayıcı (uid
) içeren özel bir jeton oluşturmalı ve bu jetonu, Firebase hizmetinde oturum açmak için kullanacak olan bir istemci uygulamasına iletmelidir. Kod örnekleri ve özel jeton oluşturma süreci hakkında daha fazla bilgi için Özel jeton oluşturma başlıklı makaleyi inceleyin.
Kimlik jetonu doğrulama
Firebaseİstemci uygulamanız arka uç sunucunuzla iletişim kuruyorsa sunucunuzda şu anda oturum açmış olan kullanıcıyı tanımlamanız gerekebilir. Böylece, kullanıcı adına sunucu tarafı mantığı uygulayabilirsiniz. Bu işlemi, bir kullanıcı Firebase uygulamasında oturum açtığında Firebase tarafından oluşturulan kimlik jetonlarını kullanarak güvenli bir şekilde yapabilirsiniz. Kimlik jetonları, OpenID Connect spesifikasyonuna uygundur ve bir kullanıcıyı tanımlamak için gereken verilerin yanı sıra diğer bazı profil ve kimlik doğrulama ile ilgili bilgileri içerir. Bu jetonları kendi arka uçlarınızdan gönderebilir, doğrulayabilir ve inceleyebilirsiniz. Bu sayede, şu anda oturum açmış olan kullanıcıyı güvenli bir şekilde tanımlayabilir ve kendi arka uç kaynaklarınızda yetkilendirebilirsiniz.
Firebase Admin SDK, kimlik jetonlarını doğrulamak için yerleşik bir yönteme sahiptir. Ayrıca, üçüncü taraf JWT kitaplıklarını kullanarak kimlik jetonlarını herhangi bir dilde programatik olarak doğrulayabilirsiniz. Kimlik jetonu doğrulama süreci hakkında daha fazla bilgi ve kod örnekleri için Kimlik jetonlarını doğrulama başlıklı makaleyi inceleyin.
Özel kullanıcı talepleri
Firebase Admin SDK simgesi, 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. Bu erişim düzeyleri, uygulamanın güvenlik kurallarında zorunlu kılınır.
Özel talepler, Firebase Admin SDK aracılığıyla bir kullanıcı üzerinde değiştirildikten sonra, istemci tarafındaki kimliği doğrulanmış kullanıcılara kimlik jetonları aracılığıyla yayılır. ID jetonu, bu özel talepleri iletmek için güvenilir bir mekanizmadır ve tüm kimliği doğrulanmış erişimler, ilişkili isteği işlemeden önce ID jetonunu doğrulamalıdır.
Özel taleplerle erişimi kontrol etme