Ich habe versucht, angularfire2 Dokumente zu lesen, und bin bis hier heraufgekommen. Mein Authentifizierungsdienst ruft angularfire.auth.login auf. Ich habe diese Funktion abonniert und möchte die Benutzerinfo, die zurückgegeben wird, in der Datenbank speichern.Wie authentifiziere ich Benutzer und speichere ihre Details
Typoskript Compiler gibt Fehler:
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'.
und das gleiche für alle 'display'.
Bin ich in die richtige Richtung, sogar? Wie könnte man das anders machen?
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
})
}
}
Lassen Sie mich wissen, ob weitere Informationen erforderlich sind.
Zum Schluss, danke für Ihren Besuch. :)
Dank @dan. Eigentlich habe ich Logging gemacht und bin durchgekommen. Eigentlich habe ich übersehen, dass "auth.auth" die Daten tatsächlich enthält. Mein Fehler. Ich schätze, ich hatte viel Koffein, um das zu verpassen. : p – ankitjain11