2017-11-28 1 views
0

Wir haben zwei Clients zu unserem STS (Identityserver4).Identityserver4 sso zwischen Ressourcenbesitzer Client und impliziten Client

  • clientâ (SPA) Ressourceneigentümer Fluss mit (geben Sie Benutzer/Passwort im SPA)
  • ClientB (MVC) mit impliziten Flow (Login mit Identityserver GUI)

Frage: Wie Können wir SSO zwischen ClientA und ClientB implementieren?

Können wir die Zugriffe von ClientA verwenden, um bei der Umleitung von ClientA zu ClientB ein SSO auszuführen? Was ist mit ClientB zu ClientA? Sollten wir die Verwendung der Cookie-Authentifizierung auf ClientB vermeiden?

+0

Bitte geben Sie an, wie Sie beide Clients in IdentityServer4 definiert haben und wie Sie IdentityServer4 in der MVC-Startup-Klasse konfiguriert haben. – aaronR

Antwort

0

IdentityServer selbst bietet SSO von Anfang an.

Sie sollten implizit für Ihren SPA-Client verwenden. (Wo Sie IDM wissen über den Client durch Blick auf den Ursprung Cors und teilen Sie das Access-Token gemäß den Umfang Anforderungen, ID Token wie die Benutzer-Credentials, wenn Profil enthalten ist)

MVC Client je nach der Vertrauenswürdigkeit Der Client kann das Kennwort sicher aufbewahren. Sie sollten die Clientberechtigungsnachweise/Ressourceneigentümerzuweisung auswählen (Sie erhalten Unterverzeichnisse im Token).

Die meisten Fällen MVC-Client wird die Hybrid-Zuschuss wählen.

Sobald Sie die Clients mit Idm Server eingerichtet haben, dann ist es die Frage der Freigabe der ID-Token und Cookies im Browser. Zugriffstoken gemäß den angeforderten Bereichen

+0

Nun, das Problem verschwindet, wenn wir mit dem impliziten Flow für unser SPA gehen. Durch den Fluss des Ressourceneigentümers erhalten wir ein besseres UX. – Larsi

Verwandte Themen