2017-06-30 5 views
0

私はこのOidcClientがそれを使っているのと同じ方法でWebAuthenticationBrokerを使用してUWPネイティブクライアントを持っている:https://github.com/IdentityModel/IdentityModel.OidcClient.Samples/blob/master/Uwp/UwpSample/WabBrowser.csWebAuthenticationBrokerからIdentityServer 4をログアウトする方法は?

IdentityServerが正常にログインを提供し、ハイブリッドワークフロークイックスタートサンプルと同じように形成する:https://github.com/IdentityServer/IdentityServer4.Samples/blob/release/Quickstarts/5_HybridFlowAuthenticationWithApiAccess/src/QuickstartIdentityServer/Quickstart/Account/AccountController.cs

グレート。それはすべて正常に動作します。ログインすることはできますが、Web UIの「Remember Me」をチェックすると、WebAuthenticationBrokerがポップアップするたびにすぐにログインして消えます。私がそれを忘れるまではうまくいきます...

WebAuthenticationBrokerがキャッシュされた資格情報をクリアするために、ログアウトするようにIdentityServerへの呼び出しを開始する必要があることを読んだことがあります。しかし、私はこれを行う方法がわからない...任意のヒント???

(BONUS:?そしてWebAuthenticationBrokerとコードの外にそれを行うにはどのような方法があるWindows資格情報マネージャは、このために有用であるとは思われない。)

はEDIT:実際には、ログアウトは一つのことで、 「Remember Me」チェックボックスからキャッシュされた情報を削除することは別です...

答えて

0

参照されているIdentityServerサンプルでは、​​デフォルトでログアウトプロンプトが有効になっています:https://github.com/IdentityServer/IdentityServer4.Samples/blob/release/Quickstarts/5_HybridFlowAuthenticationWithApiAccess/src/QuickstartIdentityServer/Quickstart/Account/AccountOptions.cs#L15

public static bool ShowLogoutPrompt = true; 

だから黙ってログアウトエンドポイントにWebAuthenticationBrokerをナビゲートすることにより、発生するのログアウトの確認を得ることができなかっただけでした。このアプローチを参照してください:http://www.cametoofar.com/post/logout-user-from-OpenID-OpenAuth-service-WebAuthenticationBroker-c-microsoft。キーパーツビーイング:

WebAuthenticationBroker.AuthenticateAsync(WebAuthenticationOptions.SilentMode, new Uri(logout-url-here)); 

私はそれが働いてログアウトプロンプトをオフにすると...同様のドキュメントを参照して良い

http://docs.identityserver.io/en/release/topics/signout.htmlを、それがしっかりUSER-をサポートするための方法を見つけるのがベストだとアプリケーションに強制的にログアウトします。

関連する問題