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

Twitter'ı JavaScript'te Kullanarak Kimlik Doğrulama

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

Sen başlamadan önce

  1. Firebase'i JavaScript projenize ekleyin .
  2. In Firebase konsoluna , Auth bölümünü açın.
  3. Oturum açma yöntemi sekmesinde, Twitter sağlayıcısını etkinleştirin.
  4. Bu sağlayıcının geliştirici konsolundan API anahtarını ve API sırrını sağlayıcı yapılandırmasına ekleyin:
    1. Uygulamanızı Twitter'da bir geliştirici uygulaması olarak kaydedin ve uygulamanızın OAuth API anahtarını ve API sırrını alın .
    2. my-app-12345.firebaseapp.com/__/auth/handler OAuth yönlendirme URI'nizin (ör. my-app-12345.firebaseapp.com/__/auth/handler ), Twitter uygulamanızın yapılandırmasında uygulamanızın ayarlar sayfasında Yetkilendirme geri arama URL'niz olarak ayarlandığından emin olun.
  5. Kaydet'i tıklayın .

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

Bir web uygulaması oluşturuyorsanız, Twitter 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. Twitter sağlayıcı nesnesinin bir örneğini oluşturun:
    var provider = new firebase.auth.TwitterAuthProvider();
    
  2. İ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 = 'pt';
    // To apply the default browser preference instead of explicitly setting it.
    // firebase.auth().useDeviceLanguage();
    
  3. İ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({
      'lang': 'es'
    });
    
    Ayrılmış gerekli OAuth parametrelerine izin verilmez ve yok sayılır. Daha fazla ayrıntı için kimlik doğrulama sağlayıcısı referansına bakın.
  4. Twitter sağlayıcı nesnesini kullanarak Firebase ile kimlik doğrulayın. Bir açılır pencere açarak veya oturum açma sayfasına yönlendirerek kullanıcılarınızdan Twitter 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 :
      firebase.auth().signInWithPopup(provider).then(function(result) {
        // This gives you a the Twitter OAuth 1.0 Access Token and Secret.
        // You can use these server side with your app's credentials to access the Twitter API.
        var token = result.credential.accessToken;
        var secret = result.credential.secret;
        // 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;
        // ...
      });
      
      çağrısı signInWithPopup Ayrıca, Twitter API'lerini kullanarak ek verileri almak için kullanılabilecek Twitter 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, Twitter 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 the Twitter OAuth 1.0 Access Token and Secret.
          // You can use these server side with your app's credentials to access the Twitter API.
          var token = result.credential.accessToken;
          var secret = result.credential.secret;
          // ...
        }
        // 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 yönetebileceğiniz yerdir. Hata kodlarının bir listesi için Yetkilendirme Referans Belgelerine bakın .

Oturum açma akışını manuel olarak yönetin

Ayrıca, Twitter OAuth uç noktalarını arayarak oturum açma akışını yöneterek bir Twitter hesabı kullanarak Firebase ile kimlik doğrulaması yapabilirsiniz:

  1. Geliştiricinin belgelerini takip ederek Twitter kimlik doğrulamasını uygulamanıza entegre edin. Twitter oturum açma akışının sonunda, bir OAuth erişim jetonu ve bir OAuth sırrı alacaksınız.
  2. Bir Node.js uygulamasında oturum açmanız gerekiyorsa OAuth erişim jetonunu ve OAuth sırrını Node.js uygulamasına gönderin.
  3. Bir kullanıcı Twitter ile başarılı bir şekilde oturum açtıktan sonra, OAuth erişim jetonunu ve OAuth sırrını bir Firebase kimlik bilgisi ile değiştirin:
    var credential = firebase.auth.TwitterAuthProvider.credential(token, secret);
    
  4. Firebase kimlik bilgilerini kullanarak Firebase ile kimlik doğrulayın:
    firebase.auth().signInWithCredential(credential).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;
      // ...
    });

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. Bkz. Kullanıcıları Yönet .

  • 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.
});