2016-05-12 64 views
2

這是我第一次使用Identity Server。如何從Identity Server註銷後重定向到登錄頁面?註銷後重定向登錄(Identity Server 3)

請引導我在正確的方向。

+0

閱讀文檔:https://開頭identityserver。 github.io/Documentation/docsv2/advanced/signout.html –

+0

Tnank您的評論! 這非常有用。 「 –

回答

4

所以這是有點兒討厭,

IDS不支持自動重定向。

有像4件事情你需要做的

因此,要獲得某種重定向註銷你必須把它添加的:

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); 
     } 

到客戶端代碼

,那麼你需要添加後登出uri到客戶端設置

THEN

做到這一點,以及

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

而且我認爲這是它

我還添加了LogoutUri到客戶端,但我不認爲這是必要的

+4

」IDS不支持自動重定向。「 - 這也有很好的理由。 http前臺頻道登錄規範需要向用戶顯示「註銷」頁面,以便有時間觸發對用戶已登錄的所有其他應用程序的請求以進行單獨播出。如果您在註銷時自動重定向,則用戶將無法退出其他客戶端。 –

+1

我只是說它有點煩人:P – redheadedstepchild

+0

謝謝你的回答,但我不明白一些時刻。我不使用開放式ID連接提供程序。可以解決它,而無需安裝它? –