как сохранить данные логина с Google в Firestore - PullRequest
0 голосов
/ 12 июня 2018

Я создаю проект с FireBase, где я реализую аутентификацию специально с Google, и она работает очень хорошо, но теперь мне нужно сохранить регистрационные данные в базе данных, и вот откуда возникают проблемы, я следую заматериал в этом URL https: / /angularfirebase.com/lessons/google-user-auth-with-firestore-custom-data/

И он генерирует следующую ошибку.

Сообщение об ошибке

Следует отметить, что я использую Angular 6.

С уважением ...

Ответы [ 2 ]

0 голосов
/ 27 октября 2018

Я понимаю разочарование.Однако вы также можете выполнить следующие «поделки» для достижения аналогичных целей:

Использование EMAIL REG:

  import { Injectable } from "@angular/core";
  import 'rxjs/add/operator/toPromise';
  import { AngularFireAuth } from 'angularfire2/auth';
  import * as firebase from 'firebase/app';

  @Injectable()
  export class yourAuthService {

   constructor(
   public afAuth: AngularFireAuth
    ){

     }
   .......
    ........
  ........

emailRegister(val){
return new Promise<any>((resolve, reject) => {
  firebase.auth().createUserWithEmailAndPassword(val.email, val.password)
  .then(() => {
    const user = firebase.auth().currentUser;
      var userRef = firebase.firestore().collection("users/").doc(user.uid);
      userRef.set({name: name, email: value.email,   user: 'newUser.uid', adminEmail: '' })
      .then(function (){
      })

  })
})
}

Это должно сработать, и вы будете на своем веселом пути!Сладко и просто.Вы можете использовать тот же подход для методов регистрации в соцмедиа :).Да, вы можете использовать этот фрагмент с Angular-6.Надеюсь, это поможет вам лучше понять и иметь больше возможностей.Может быть, кто-то лучше объяснит разные подходы.

0 голосов
/ 12 июня 2018

Попробуйте этот код:

this.user$ = this.afAuth.user.pipe(
      switchMap(user => {
        if (user) {
          return this.afs
          .doc<UsuarioInterface>(`usuarios/${user.uid}`)
          .valueChanges();
        } else {
          return of(null);
        }
      })
    );

Тогда наблюдаемое user$ будет нулевым, если пользователь не вошел в систему, в противном случае он будет иметь данные пользователя.

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