Automatischer Login lokaler Benutzer nach der Registrierung bei IdentityServer3

8

Mit IdentityServer3 muss ich mich automatisch anmelden und einen lokalen Benutzer zurück zur Clientanwendung umleiten, nachdem der Benutzer einen Registrierungsprozess abgeschlossen hat . Gibt es eine elegante Möglichkeit, dies zu tun? Von meinem Graben vermute ich nicht, in welchem ​​Fall gibt es einen Hack, den ich verwenden kann, um das zu erreichen?

Ich konnte dies für externe Benutzer mithilfe eines benutzerdefinierten Benutzerdiensts erreichen, aber dies war der Fall nutzte eine teilweise Anmeldung. Für lokale Benutzer werden sie jedoch nicht im Authentifizierungsprozess vom Benutzerdienst behandelt, bis sie sich mit einem Benutzernamen und einem Kennwort anmelden.

Bitte beachten Sie auch, dass ich keinen Zugriff auf das Benutzerpasswort habe, da der Registrierungsprozess durch mehrere Bildschirme / Ansichten abgedeckt wird, da sie in diesem Fall ihre E-Mail als Teil des Registrierungsprozesses verifizieren müssen.

Fortschritt:

Ich habe das Ссылка gefunden, aber ich habe noch nicht herausgefunden, wie ich die Weiterleitung auslösen kann.

>

Ich versuche, ein Authentifizierungstoken mit:

auszugeben %Vor%

Aber das Beste, was ich bisher tun kann, ist, den Benutzer zurück zum Anmeldebildschirm zu leiten:

%Vor%     
Gavin 14.05.2015, 02:35
quelle

1 Antwort

14

Fügen Sie den Registrierungslink mithilfe von LoginPageLinks zur Anmeldeseite hinzu:

%Vor%

Wenn Sie LoginPageLinks verwenden, wird am Ende Ihrer URL auf der Anmeldeseite ein URL-Parameter hinzugefügt. Dies muss beibehalten werden, wenn der Registrierungsprozess mehrere Seiten umfasst. Einfach, diesen Wert in einem Cookie zu speichern.

Ein Problem besteht darin, dass die Registrierungsseite unter derselben URL wie Identity Server existieren muss, z. "Ader". Dadurch können Ihre Seiten Cookies mit Identity Server teilen. Bei Standard-MVC-Controllern kann dies mit dem Route-Decorator erreicht werden:

%Vor%

Sobald der Registrierungsprozess abgeschlossen ist, können Sie die IssueLoginCookie-Erweiterungsmethode verwenden, um ein Login-Cookie zu erstellen. Der Parameter signin url kann dann mit der GetSignInMessage-Erweiterungsmethode verwendet werden, um eine ReturnUrl abzurufen, um die Antwort umzuleiten, an die sich der Benutzer automatisch anmeldet und sie an die Clientanwendung zurückgibt:

%Vor%     
Gavin 20.05.2015, 01:15
quelle