Typescript-kompilatorfeil ved pålogging med Facebook-autentisering
Typescript-kompilatorfeil ved pålogging med Facebook-autentisering.
Facebook-autentiseringen fungerer fint. Det er bare TypeScript-kompilatoren som ikke liker svaret.
Typescript-kompilatorfeil er: "Egenskapen 'facebook' eksisterer ikke på typen FirebaseAuthData".
Her er koden min:
public loginWithFacebook():void{
this.ref.authWithOAuthPopup("facebook", function(error, authData?) {
if (error) {
console.log("Login Failed!", error);
} else {
//Error here - Doesnt like authData.facebook.
let user = {
email : authData.facebook.email,
password : null,
uid: authData.uid
}
this.addUser(user);
}
});
}
I responsen fra authData.facebook.email ser det ut til å være en feil. Denne koden fungerer helt fint og kjører. Men ikke TypeScript-kompilatoren.
Jeg trenger å gå til: authData.facebook for å få tilgang til e-postfeltet, men Typescript ser ut til å bli forvirret over hva facebook er.
Svar #1
Så problemet er at hovedfilen firebase.d.ts er utdatert. Den er på versjon 2.0.2. Den må korrigeres (og jeg kommer sannsynligvis til å sende inn en PR).
Men for nå kan du legge dette til i firebase.d.ts-filen for å komme i gang.
interface FirebaseAuthData {
uid: string;
provider: string;
token: string;
expires: number;
auth: Object;
google?: FirebaseAuthDataProvider;
facebook?: FirebaseAuthDataProvider;
}
interface FirebaseAuthDataProvider {
accessToken: string;
cachedUserProfile: any;
displayName: string;
email?: string;
id: string;
profileImageURL: string;
}
Dette vil oppdatere grensesnittene slik at kompileringen fungerer.
