独自の OpenID Connect プロバイダーがあります。また、リクエストを作成して結果を解析する Relying Party 用の独自の SDK もあります。そして今、Owin/Katana クライアントでプロバイダーを機能させたいと考えています。
OpenID Connect Spec によると、"Request" オブジェクトhttp://openid.net/specs/openid-connect-core-1_0.html#JWTRequestsを使用できます。このオブジェクトでは、要求されたクレームとクレームの値を OpenID Connect に渡すことができます。プロバイダー。
私の最初の質問は、 Owin/Katana ミドルウェアを使用して、リクエストされたクレームとその値を含む「リクエスト」オブジェクトを渡すにはどうすればよいですか? Microsoft.Owin.Security.OpenIdConnectアセンブリを使用してそれを行う方法が見つかりません。スコープのみをリクエストできるようです。それだけです。
そして 2 番目の質問(私たちにとっては重要ではありませんが): Owin は「クエリ」応答モードをサポートしていますか? デフォルトでは、Owin は暗黙的なフローと "form_post" 応答モードを使用します。しかし、「クエリ」応答モードを使用しようとすると、結果がありませんでした (プロバイダーは、クエリ パラメーターに id_token を指定して redirect_uri にリダイレクトしましたが、Owin はそれをキャッチしませんでした。「form_post」応答モードでは、すべて正常に機能しました)。このコードを試しました:
app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
{
...
Response_Mode = "query",
...
});
あなたの助けに感謝します。