2016-08-03 10 views
0

Ich möchte ein SPA implementieren, das ein Inaktivitäts-Timeout aufweist, das einen Benutzer erneut authentifizieren müsste, bevor sie das SPA aber erneut verwenden können Ich möchte mich nicht bei IdentityServer abmelden, da dies die Benutzer aus anderen Anwendungen herausfallen lässt, die sie aktiv verwenden. Wie kann ich dies tun, ohne es dem Benutzer zu ermöglichen, nur einige JS zu ändern, so dass sie nie ein Inaktivitäts-Timeout haben? Ich verwende AngularJS innerhalb eines AspNet-Kernprojekts, das AspNet API aufruft, die sich auf separaten URLs befinden.IdentityServer Abmelden von einer App (neue Anmeldung erforderlich), aber mit einer anderen App angemeldet bleiben

+0

Ich habe festgestellt, dass Gmail und Google Wallet diese Funktionalität implementieren. Google Wallet wird nach einiger Zeit abgemeldet, Google Mail jedoch nicht, und wenn Sie wieder in den Wallet-Account wechseln, müssen Sie sich erneut authentifizieren. –

Antwort

1

Wenn Sie den Benutzer zur erneuten Authentifizierung an den IdentityServer zurücksenden, können Sie den Parameter prompt = login OIDC übergeben. Dies wird sie zwingen, sich erneut bei IdSvr zu authentifizieren.

+0

Ja und das funktioniert sehr gut, aber das erfordert, dass sich der Benutzer bei jedem Besuch der App anmeldet. Wie mache ich es nur in bestimmten Situationen prompt einzuloggen. Ich wundere mich auch, kann der Benutzer einfach nicht reingehen und die prompte Anmeldung in der JS entfernen, dann wäre es nicht erforderlich, sich erneut anzumelden. –

+0

Sie können stattdessen den Parameter max_age verwenden, der den Benutzer auffordert, sich anzumelden, wenn er nicht in einer bestimmten Zeit verfügbar ist. Überprüfen Sie die Dokumentation/Spezifikation. –

Verwandte Themen