4

我们有自己的 OpenID Connect Provider。我们也有我们自己的依赖方 SDK,它创建请求然后解析结果。现在我们想让我们的 Provider 与 Owin/Katana 客户一起工作。

根据 OpenID Connect 规范,我们可以使用“请求”对象http://openid.net/specs/openid-connect-core-1_0.html#JWTRequests,我们可以在其中将请求的声明和声明的值传递给 OpenID Connect提供者。

所以我的第一个问题是:如何使用 Owin/Katana 中间件传递带有请求声明及其值的“请求”对象?我找不到使用Microsoft.Owin.Security.OpenIdConnect程序集的任何方法。似乎我们只能请求范围,仅此而已。

第二个问题(对我们来说并不重要,但仍然如此):Owin 是否支持“查询”响应模式?默认情况下,Owin 使用隐式流和“form_post”响应模式。但是当我尝试使用“查询”响应模式时,我没有任何结果(我们的 Provider 在查询参数中使用 id_token 重定向到 redirect_uri,但 Owin 没有捕捉到它,使用“form_post”响应模式一切正常)。试过这段代码:

app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
            {
                ...
                Response_Mode = "query",
                ...
            });

我将不胜感激您的任何帮助。

4

0 回答 0