Google is committed to advancing racial equity for Black communities. See how.
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

Facebook Girişini JavaScript ile Kullanarak Kimlik Doğrulama

Facebook Oturumunu uygulamanıza entegre ederek, kullanıcılarınızın Facebook hesaplarını kullanarak Firebase ile kimlik doğrulamasına izin verebilirsiniz. Facebook Login'i, oturum açma akışını gerçekleştirmek için Firebase SDK'yı kullanarak veya Facebook Oturum Açma akışını manuel olarak gerçekleştirip elde edilen erişim jetonunu Firebase'e aktararak entegre edebilirsiniz.

Sen başlamadan önce

  1. Firebase'i JavaScript projenize ekleyin .
  2. Geliştiriciler için Facebook sitesinde, uygulamanız için Uygulama Kimliği ve Uygulama Sırrı edinin.
  3. Facebook Oturumunu Etkinleştir:
    1. In Firebase konsoluna , Auth bölümünü açın.
    2. Oturum açma yöntemi sekmesinde, Facebook oturum açma yöntemini etkinleştirin ve Facebook'tan aldığınız Uygulama Kimliğini ve Uygulama Sırrını belirtin.
    3. Sonra emin olun sizin OAuth yönlendirme URI (örn my-app-12345.firebaseapp.com/__/auth/handler ) üzerinde Facebook uygulamanın ayarlar sayfasında OAuth yönlendirme URI'lerinin biri olarak listelenir Geliştiriciler için Facebook Ürününde sitede Ayarlar> Facebook Giriş yapılandırması.

Firebase SDK ile oturum açma akışını yönetin

Bir web uygulaması oluşturuyorsanız Facebook hesaplarını kullanarak Firebase ile kullanıcılarınızın kimliğini doğrulamanın en kolay yolu, oturum açma akışını Firebase JavaScript SDK ile yönetmektir. (Node.js'de veya tarayıcı olmayan başka bir ortamda bir kullanıcının kimliğini doğrulamak istiyorsanız, oturum açma akışını manuel olarak işlemeniz gerekir.)

Firebase JavaScript SDK ile oturum açma akışını yönetmek için şu adımları izleyin:

  1. Facebook sağlayıcı nesnesinin bir örneğini oluşturun:
    var provider = new firebase.auth.FacebookAuthProvider();
    
  2. İsteğe bağlı : Kimlik doğrulama sağlayıcısından talep etmek istediğiniz ek OAuth 2.0 kapsamlarını belirtin. Kapsam eklemek için addScope . Örneğin:
    provider.addScope('user_birthday');
    
    Kimlik doğrulama sağlayıcısı belgelerine bakın.
  3. İsteğe bağlı : Sağlayıcının OAuth akışını, ilgili özel OAuth parametrelerini açıkça iletmeden kullanıcının tercih ettiği dile yerelleştirmek için, OAuth akışını başlatmadan önce Auth örneğindeki dil kodunu güncelleyin. Örneğin:
    firebase.auth().languageCode = 'fr_FR';
    // To apply the default browser preference instead of explicitly setting it.
    // firebase.auth().useDeviceLanguage();
    
  4. İsteğe bağlı : OAuth isteğiyle göndermek istediğiniz ek özel OAuth sağlayıcı parametrelerini belirtin. Özel bir parametre eklemek için, OAuth sağlayıcı belgelerinde belirtilen anahtarı ve karşılık gelen değeri içeren bir nesneyle başlatılmış sağlayıcıda setCustomParameters çağırın. Örneğin:
    provider.setCustomParameters({
      'display': 'popup'
    });
    
    Ayrılmış gerekli OAuth parametrelerine izin verilmez ve dikkate alınmaz. Daha fazla ayrıntı için kimlik doğrulama sağlayıcısı referansına bakın.
  5. Facebook sağlayıcı nesnesini kullanarak Firebase ile kimlik doğrulaması yapın. Bir açılır pencere açarak veya oturum açma sayfasına yönlendirerek kullanıcılarınızdan Facebook hesaplarıyla oturum açmalarını isteyebilirsiniz. Yönlendirme yöntemi mobil cihazlarda tercih edilir.
    • Bir açılır pencereyle oturum açmak için, signInWithPopup arayın:
      firebase.auth().signInWithPopup(provider).then(function(result) {
        // This gives you a Facebook Access Token. You can use it to access the Facebook API.
        var token = result.credential.accessToken;
        // The signed-in user info.
        var user = result.user;
        // ...
      }).catch(function(error) {
        // Handle Errors here.
        var errorCode = error.code;
        var errorMessage = error.message;
        // The email of the user's account used.
        var email = error.email;
        // The firebase.auth.AuthCredential type that was used.
        var credential = error.credential;
        // ...
      });
      
      Ayrıca, Facebook API'lerini kullanarak ek verileri almak için kullanılabilen Facebook sağlayıcısının OAuth belirtecini alabileceğinizi de unutmayın.

      Bu aynı zamanda hataları yakalayabileceğiniz ve işleyebileceğiniz yerdir. Hata kodlarının bir listesi için Yetkilendirme Referans Belgelerine bakın .

    • Oturum açma sayfasına yeniden yönlendirerek oturum açmak için signInWithRedirect arayın:
      firebase.auth().signInWithRedirect(provider);
      
      Ardından, Facebook sağlayıcısının OAuth belirtecini, sayfanız yüklendiğinde getRedirectResult çağırarak da alabilirsiniz:
      firebase.auth().getRedirectResult().then(function(result) {
        if (result.credential) {
          // This gives you a Facebook Access Token. You can use it to access the Facebook API.
          var token = result.credential.accessToken;
          // ...
        }
        // The signed-in user info.
        var user = result.user;
      }).catch(function(error) {
        // Handle Errors here.
        var errorCode = error.code;
        var errorMessage = error.message;
        // The email of the user's account used.
        var email = error.email;
        // The firebase.auth.AuthCredential type that was used.
        var credential = error.credential;
        // ...
      });
      
      Burası ayrıca hataları yakalayabileceğiniz ve işleyebileceğiniz yerdir. Hata kodlarının bir listesi için Yetkilendirme Referans Belgelerine bakın .

Bir Chrome uzantısında Firebase ile kimlik doğrulayın

Bir Chrome uzantısı uygulaması oluşturuyorsanız, Chrome uzantı kimliğinizi beyaz listeye eklemeniz gerekir:

  1. Firebase konsolunda projenizi açın.
  2. Kimlik Doğrulama bölümünde, Oturum açma yöntemi sayfasını açın.
  3. Yetkili Etki Alanları listesine aşağıdakine benzer bir URI ekleyin:
    chrome-extension://CHROME_EXTENSION_ID

Chrome uzantıları HTTP yeniden yönlendirmelerini kullanamadığından, Chrome uzantılarında yalnızca açılır pencere işlemleri ( signInWithPopup ve linkWithPopup ) kullanılabilir. Kimlik doğrulama açılır penceresi tarayıcı eylemi açılır penceresini iptal edeceğinden, bu yöntemleri bir tarayıcı eylemi açılır penceresinden ziyade bir arka plan komut dosyasından çağırmalısınız.

Chrome uzantınızın manifest dosyasında https://apis.google.com URL'sini content_security_policy beyaz listesine eklediğinizden emin olun.

Sonraki adımlar

Bir kullanıcı ilk kez oturum açtıktan sonra, yeni bir kullanıcı hesabı oluşturulur ve oturum açan kullanıcı kimlik bilgilerine (yani kullanıcı adı ve parolası, telefon numarası veya kimlik doğrulama sağlayıcı bilgileri) bağlanır. Bu yeni hesap, Firebase projenizin bir parçası olarak depolanır ve kullanıcının nasıl oturum açtığına bakılmaksızın projenizdeki her uygulamada bir kullanıcıyı tanımlamak için kullanılabilir.

  • Uygulamalarınızda, kullanıcınızın kimlik doğrulama durumunu öğrenmenin önerilen yolu, Auth nesnesine bir gözlemci ayarlamaktır. Daha sonra kullanıcının temel profil bilgilerini User nesnesinden alabilirsiniz. Kullanıcıları Yönetme konusuna bakın.

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

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

Bir kullanıcının oturumunu kapatmak için signOut arayın:

firebase.auth().signOut().then(function() {
  // Sign-out successful.
}).catch(function(error) {
  // An error happened.
});