2016-05-12 23 views
2

これは初めてのIdentity Serverの経験です。 Identity Serverからログアウトした後にログインページにリダイレクトするにはどうすればよいですか?ログアウト後のログインへのリダイレクト(Identity Server 3)

私を正しい方向に導いてください。

+0

必要はないと思う:https://でidentityserver。 github.io/Documentation/docsv2/advanced/signout.html –

+0

コメントありがとうございました! 非常に便利です。 –

答えて

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接続プロバイダを使用していません。それをセットアップせずに解決することは可能ですか? –

関連する問題