Хранение информации о пользователях, прошедших проверку подлинности firebase (таких как FirstName, LastName, Gender и т. Д.), В нашей собственной базе данных - PullRequest
0 голосов
/ 12 ноября 2018

Я использую регистрацию пользователя и вход в систему через аутентификацию firebase. В тот момент, когда пользователь регистрируется / входит в систему, я хочу сохранить дополнительную информацию о пользователе (например, FirstName, LastName, Gender и т. Д.) В моей базе данных.

Вот что я делаю для этого, но что происходит, когда вызов rest для сохранения новой пользовательской информации не выполняется. Второй раз, когда он входит в систему, он не новый пользователь

  loginWithFacebook() {
      const provider = new firebase.auth.FacebookAuthProvider();
      provider.addScope('user_birthday');
      provider.addScope('user_friends');
      provider.addScope('user_gender');
      return new Promise<any>((resolve, reject) => {
        this.afAuth.auth
        .signInWithPopup(provider) // a call made to sign up via fb
        .then(res => {
          if (res) {
            resolve(res);
            if (res.additionalUserInfo.isNewUser) { // creatin profile only if he is a new user
              this.createProfile(res); // a call to store the response in the db
            }
            this.setTokenSession(res.credential.accessToken);
          }
        }, err => {
          console.log(err);
          reject(err);
        })
      })
    }

Как всегда гарантировать, что информация о новом пользователе хранится в моей собственной БД?

1 Ответ

0 голосов
/ 12 ноября 2018

Я не знаю angular, но я думаю, что вам нужно использовать пользовательский uid в качестве ключа в базе данных firebase. Я думаю, что этот uid генерируется, когда пользователь впервые входит в ваше приложение, и сохраняется в течение всей жизни вашего приложения. Поэтому, когда пользователь входит в систему, вы можете получить uid и проверить в базе данных Firebase, если есть. является записью с uid..если нет, это означает, что у вас есть новый пользователь, и вы должны создать запись в БД.

Подробнее здесь: https://firebase.google.com/docs/auth/web/manage-users.

Если вы хотите узнать, как найти UID: Есть ли способ получить UID пользователя Firebase Auth?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...