2016-08-01 16 views
2

私はIdentityServer3のPOCに取り組んでいます。IdentityServer3 Webブラウザの代わりのイベント

サンプルアプリケーションのWebHost(最小)が正常に動作しています。

クライアントサンプルアプリケーションでは、wpfクライアント(pkceとのハイブリッド)を使用しています。

ウェブホストがカスタムExternalRegistrationUserServiceを使用するように変更されているため、ハイブリッドの例が必要です。

ただし、ハイブリッドクライアントのサンプルでは、​​コンソールアプリケーション/ Windowsサービスでは推奨されないスレッドモデルを使用するwebserver navigatingイベントが使用されます。

パンチラインの質問は、操作性に匹敵する操作が、UIコントロールに関連付けられていないことですか?

httpwebrequestがほしいと思うことはほとんどありませんが、identityserver3は私が傍受しなければならないチェーン内で複数の応答を送信したいと思われ、httpclientまたはhttpwebrequestの呼び出しは最初の応答のみを返したいと思われます。

+0

改善された読みやすさ –

答えて

1

recent blog postの情報を使用して非常によく似たPOCを書いたばかりです。Dominick Baierです。

このアプローチでは、newish IdentityModel.OidcClientライブラリとローカルHTTPリスナーの組み合わせを使用して、リダイレクトを受信するネイティブクライアントアプリケーションが本質的にあります。

ドミニクのサンプルの1つに、コンソールアプリケーションでハイブリッドフローを有効にするためにOidcClientをHTTPリスナーと併用する方法を示しました。コードhereがあります。

私はこのサンプルではあなたが何をしているのだろうと思っていますが、システムのWebブラウザを外部からポップアップして開きます。ただし、OidcClientは、ネイティブクライアント内のすべてを実行する場合は、ユーザーが提供するWebViewもサポートしています。

+1

素敵な仕事!..... –

+0

今すぐ見てください – Matt

+0

あなたのソリューションは非常に有望です。それは実行され、Webブラウザコントロールの必要性を排除しますが、スケジュールされたバッチアプリケーションやサービスにも同様に問題のあるフルブラウザのブラウザインスタンスでは、process.startも実行します。あなたが使用していたhttplistenerは、process.startをhttpクライアント呼び出しで置き換えることができれば問題が解決したと思っています。私はそれを試して、私が見つけたものに戻っていきます。 – Matt

関連する問題