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.