Firebase Admin SDK, kendi sunucularınızı Firebase Authentication ile entegre etmenize olanak tanır. Kullanıcılarınızı veya kimlik doğrulama belirteçlerini yönetmek için Firebase Admin SDK'sını kullanabilirsiniz. Bunu yapmak istemenizin birkaç nedeni vardır:
Kullanıcı yönetimi
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 bir kullanıcının şifresini, e-posta adresini veya telefon numarasını değiştirmek gibi Firebase konsolunun yapamayacağı şeyleri yapmanıza bile izin verir.
Özel Kimlik Doğrulama
Firebase ile harici bir kullanıcı sistemini entegre edebilirsiniz. Örneğin, önceden var olan bir kullanıcı veritabanınız olabilir veya Firebase Authentication'ın yerel olarak desteklemediği bir üçüncü taraf kimlik sağlayıcı ile entegre etmek isteyebilirsiniz.
Bunu yapmak için, kullanıcıyı tanımlayan isteğe bağlı taleplerle özel belirteçler oluşturabilirsiniz. Bu özel belirteçler daha sonra bir istemci uygulamasında Firebase Kimlik Doğrulama hizmetinde oturum açmak ve belirtecin iddialarında açıklanan kimliği üstlenmek için kullanılabilir. Bu kimlik daha sonra Cloud Storage gibi diğer Firebase hizmetlerine erişilirken kullanılacaktır.
kimlik doğrulama
Firebase Authentication, Cloud Storage gibi diğer hizmetlere erişimi kısıtlamak için öncelikle uygulamanızın kullanıcılarını belirlemek için kullanılır. Hizmeti, bu kullanıcıları kendi sunucunuzda tanımlamak için de kullanabilirsiniz. Bu, Firebase Authentication ile oturum açmış kullanıcılar adına sunucu tarafı mantığını güvenli bir şekilde gerçekleştirmenizi sağlar.
Bunu yapmak için, Firebase Authentication ile oturum açmış bir istemci uygulamasından bir kimlik belirteci alabilir ve belirteci sunucunuza yapılan bir isteğe dahil edebilirsiniz. Sunucunuz daha sonra kimlik belirtecini doğrular ve kullanıcıyı tanımlayan iddiaları çıkarır (kullanıcı kimliği, oturum açtıkları uid
sağlayıcı vb. dahil). Bu kimlik bilgileri daha sonra sunucunuz tarafından kullanıcı adına eylemler gerçekleştirmek için kullanılabilir.
Firebase Admin SDK, kullanıcılarınızı yönetmenize, özel belirteçler oluşturmanıza ve kimlik belirteçlerini doğrulamanıza olanak sağlayarak yukarıdaki kimlik doğrulama görevlerini gerçekleştirmek için yöntemler sağlar.
Özel Kullanıcı Hak Talepleri
Bazı durumlarda, E-posta/Parola, Google, Facebook, telefon vb. 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 kontrolü uygulamak isteyebilirsiniz. Özel kullanıcı talepleri ve uygulama güvenliği kombinasyonu kurallar bu yeteneği sağlar. Örneğin, Firebase Kimlik Doğrulama E-postası ve Parola sağlayıcısıyla oturum açan bir kullanıcı, özel talepler kullanılarak tanımlanmış erişim denetimine sahip olabilir.
Kullanıcı yönetimi
Firebase Admin SDK, 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ı hız sınırlaması konusunda endişelenmeden kullanıcıları programlı bir şekilde alma, oluşturma, güncelleme ve silme yeteneği sağlar.
Kullanıcıları YönetÖzel jeton oluşturma
Özel belirteçler oluşturmanın birincil kullanımı, kullanıcıların harici veya eski bir kimlik doğrulama mekanizmasına karşı kimlik doğrulamasına izin vermektir. Bu, LDAP sunucunuz gibi sizin kontrol ettiğiniz bir sunucu veya Firebase'in doğal olarak desteklemediği Instagram veya LinkedIn gibi bir üçüncü taraf OAuth sağlayıcısı olabilir.
Firebase Admin SDK, özel belirteçler oluşturmak için yerleşik bir yönteme sahiptir. 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 olan bir istemci uygulamasına iletmelidir. Kod örnekleri ve özel belirteç oluşturma süreci hakkında daha fazla ayrıntı için Özel belirteçler oluşturma konusuna bakın.
Kimlik belirteci doğrulaması
Firebase istemci uygulamanız arka uç sunucunuzla iletişim kuruyorsa, sunucunuz adına sunucu tarafı mantığı gerçekleştirebilmek için sunucunuzda şu anda oturum açmış olan kullanıcıyı tanımlamanız gerekebilir. Bir kullanıcı bir Firebase uygulamasında oturum açtığında Firebase tarafından oluşturulan kimlik belirteçlerini kullanarak bunu güvenli bir şekilde yapabilirsiniz. Kimlik belirteçleri, OpenID Connect spesifikasyonuna uygundur ve bir kullanıcıyı tanımlamaya yönelik verilerin yanı sıra diğer bazı profil ve kimlik doğrulama ile ilgili bilgileri içerir. Bu belirteçleri kendi arka uçlarınızdan gönderebilir, doğrulayabilir ve inceleyebilirsiniz. Bu, şu anda oturum açmış olan kullanıcıyı güvenli bir şekilde tanımlamanıza ve onları kendi arka uç kaynaklarınız için yetkilendirmenize olanak tanır.
Firebase Admin SDK, kimlik belirteçlerini doğrulamak için yerleşik bir yönteme sahiptir. Ayrıca üçüncü taraf JWT kitaplıklarını kullanarak kimlik belirteçlerini herhangi bir dilde programlı olarak doğrulayabilirsiniz. Kimlik belirteci doğrulama süreci hakkında daha fazla ayrıntı ve kod örnekleri için Kimlik belirteçlerini doğrulama konusuna bakın.
Kimlik belirteçlerini doğrulayın
Özel kullanıcı talepleri
Firebase Admin SDK, kullanıcı hesaplarında özel öznitelikler ayarlamanıza olanak tanır. Özel kullanıcı talepleriyle, kullanıcılara daha sonra bir uygulamanın güvenlik kurallarında zorunlu kılınan farklı erişim seviyeleri (roller) verebilirsiniz.
Firebase Admin SDK aracılığıyla bir kullanıcı üzerinde özel talepler değiştirildikten sonra, bunlar, 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.
Özel Taleplerle Erişimi Kontrol Etme