Я пробовал читать документы angularfire2 и придумал здесь. Моя служба проверки подлинности вызывает angularfire.auth.login. Я подписался на эту функцию, и я хочу сохранить возвращаемую пользовательскую информацию в базу данных.Как аутентифицировать пользователя и сохранять его данные
Машинопись компилятор возвращает ошибку:
Error: Typescript found the following errors: /Users/macbook/dev/app/kichenclub/tmp/broccoli_type_script_compiler-input_base_path-nMnfGgj9.tmp/0/src/app/auth.service.ts (12, 25): Property 'displayName' does not exist on type 'FirebaseAuthState'.
и та же для всех 'DISPLAYNAME'.
Я в правильном направлении, даже? Как еще это сделать.
authentication.service.ts:
import { Injectable } from '@angular/core';
import { AngularFire, AuthProviders, AuthMethods } from 'angularfire2';
@Injectable()
export class AuthService {
private userModel= this.af.database.object('/users');
constructor(private af: AngularFire) {
this.af.auth.subscribe((auth) => {
console.log(auth);
this.userModel.set({
uid: auth.uid,
firstName: auth.displayName.split(0, auth.displayName.lastIndexOf(' ')),
lastName: auth.displayName.split(auth.displayName.lastIndexOf(' '), auth.displayName.length),
displayPic: auth.photoURL,
provider:auth.provider
});
});
}
public loginFacebook(): void {
this.af.auth.login({
provider: AuthProviders.Facebook,
method: AuthMethods.Popup
})
}
}
Дай мне знать, если требуется дополнительная информация.
И наконец, спасибо, что остановились. :)
Thanks @dan. Вообще-то, я прошел через журнал и прошел. Фактически, я пропустил, что 'auth.auth' фактически хранит данные. Виноват. Наверное, я был на кофеине, чтобы пропустить это. :п – ankitjain11