Как работает firebase-аутентификация

0

Код из firebase 3 docs https://firebase.google.com/docs/auth/web/manage-users#get_the_currently_signed-in_user

    firebase.auth().onAuthStateChanged(function(user){
          if (user) {
            // If there a user take him to the home page.
            this.rootPage = HomePage;
          } else {
            // If there no user logged in send him to the LoginPage
            this.rootPage = LoginPage;
          }
  });

Как user параметр установлен в наблюдателе и как этот код отличается от этого ниже?

Код из учебника @http://javebratt.com/firebase-3-email-auth/

firebase.auth().onAuthStateChanged((user) => {
          if (user) {
            // If there a user take him to the home page.
            this.rootPage = HomePage;
          } else {
            // If there no user logged in send him to the LoginPage
            this.rootPage = LoginPage;
          }
    });

Причина, по которой я спрашиваю, заключается в том, что я просматриваю учебник по ионным 2 и firebase 3, а firebase.auth().onAuthStateChanged() явно отличается от того, что находится в официальных документах для firebase 3

Теги:
firebase
ionic-framework
firebase-authentication
ionic2

2 ответа

0

2 аналогичны тем, что первая использует функцию обратного вызова, а вторая - функцию стрелки. Например: они одинаковы (например):

var a = a.map(function(s){ return s.length });
var b = a.map( s => s.length );

Когда пользователь аутентифицируется с помощью firebase3, он передает некоторые данные обратно в функцию обратного вызова или стрелки. Эти данные доступны в пользовательской переменной в вашем примере. Вы можете сделать console.log (пользователь), чтобы увидеть, какие объекты передаются (например, идентификатор аутентификации, поставщик, электронная почта...).

Надеюсь, это указывает на то, что вы в правильном направлении.

0

Пользовательский параметр задается с помощью var user = rootRef.getAuth();

Вот как я его использовал.

var rootRef = new Firebase('https://yourapp.firebaseio.com');

// Check the current user login status and redirect if not logged in
var user = rootRef.getAuth();
if (user) {
   var user = rootRef.getAuth();
   var userRef = rootRef.child('users').child(user.uid);
   ... do something with the logged in user...
}

Надеюсь это поможет.

  • 0
    Спасибо @MattHannam ваше объяснение выглядит для недавно устарелой Firebase 2

Ещё вопросы

Сообщество Overcoder
Наверх
Меню