angular - Avsluta användarsession med Firebase Authentication
Hur får jag användarsessioner som är inloggade i mitt system att gå ut varje timme med AngularFireAuth?
I inställningarna för mitt system vill jag möjliggöra för den autentiserade användaren att kunna konfigurera vilken tid sessionen löper ut.
För att logga in i systemet använder jag följande kod.
signIn(user: User) {
return this.afAuth.auth.signInWithEmailAndPassword(user.email, user.password);
}
Jag har kollat i dokumentationen men jag kan inte lista ut hur jag ska tillämpa detta på mitt system. https://firebase.google.com/docs/auth/web/auth-state-persistence?hl=pt-br
Jag skulle vilja veta hur man gör detta från AngularFireAuth. https://github.com/angular/angularfire2/blob/master/docs/auth/getting-started.md
Svar #1
Firebase Authentication-sessioner går inte ut, uppfräschningskoderna är giltiga på obestämd tid. De kortlivade ID-token kontrolleras periodiskt (ungefär en gång i timmen), men det finns inget API för att kontrollera hur länge den processen lyckas.
Du har några alternativ dock:
Den enda kontroll du har över användarens autentiseringssession från klientsides-API:et är att logga ut användaren.
Alternativt kan du använda serversideskod för att uttryckligen återkalla en enskild uppdateringstoken genom Admin SDK.
Om du måste ha en utgående token, överväg att skapa din egen inloggningsleverantör för Firebase Authentication. I så fall kan du kontrollera när tokenet går ut genom
exp-påståendet.