2016-05-12 8 views
2

Dies ist meine erste Erfahrung mit Identity Server. Wie kann ich nach dem Abmelden von Identity Server zur Anmeldeseite umleiten?Umleiten zur Anmeldung nach Abmeldung (Identity Server 3)

Bitte, führen Sie mich in die richtige Richtung.

+0

die Dokumentation lesen: https: // identityserver. github.io/Documentation/docsv2/advanced/signout.html –

+0

Tnank Sie für Ihren Kommentar! Es ist sehr nützlich. –

Antwort

4

Also das ist ein bisschen ärgerlich,

IDS nicht automatisch Umleitung nicht unterstützt.

Es ist wie 4 Dinge, die Sie irgendeine Art tun müssen, also

erhalten von Umleitung auf logout Sie diese hinzufügen:

RedirectToIdentityProvider = n => 
     { 
      if (n.ProtocolMessage.RequestType == OpenIdConnectRequestType.LogoutRequest) 
      { 
       var idTokenHint = n.OwinContext.Authentication.User.FindFirst("id_token"); 

       if (idTokenHint != null) 
       { 
          n.ProtocolMessage.IdTokenHint = idTokenHint.Value; 
       } 
      } 

       return Task.FromResult(0); 
     } 

an den Client-Code

dann müssen Sie Fügen Sie die Post-Abmelde-URL dem Client-Setup hinzu.

THEN

tun dies auch

Request.GetOwinContext().Authentication.SignOut(new AuthenticationProperties 
    { 
     RedirectUri = "https://localhost:44306/" 
    }); 

Und ich denke, das ist es

ich auch die LogoutUri dem Client hinzugefügt, aber ich glaube nicht, dass notwendig ist

+4

"IDS unterstützt keine automatische Weiterleitung." - Dafür gibt es auch einen guten Grund. Die About-Spezifikation des http-Front-Channels benötigt eine "Abgemeldet" -Seite, die dem Benutzer angezeigt wird, um Zeit zu ermöglichen, Anfragen an alle anderen Apps auszulösen, für die sich der Benutzer angemeldet hat. Wenn Sie beim Abmelden automatisch umleiten, hat der Benutzer keine Möglichkeit, sich von den anderen Clients abzumelden. –

+1

Ich sagte nur, es war ein bisschen nervig: P – redheadedstepchild

+0

Vielen Dank für Ihre Antwort, aber ich verstehe einige Momente nicht.Ich benutze nicht offene ID-Verbindung Anbieter. Es ist möglich, es zu lösen, ohne es einzurichten? –