使Swagger UI oauth2与oidc-provider一起使用

时间:2018-10-18 15:27:03

标签: node.js oauth-2.0 swagger-ui openapi oidc-provider

我正在尝试使Swagger UI成功授权到oidc-provider实例。

我在以下地方设置了一个最小的(尽可能)实例来解决问题:https://glitch.com/~copper-vise

它的作用是:

  • 在/ doc上具有swagger UI,用于提供swagger.yaml文件中的定义
  • 以最少的配置和开发人员交互来运行oidc提供程序。

问题是我似乎无法将两者结合起来。看来这可能是Swagger UI的错误,但是考虑到我对odc缺乏经验,这可能只是配置问题。

要尝试,请单击swagger interface上的“授权”按钮,将foobar使用client_idclient_secret,至少检查openid作用域,然后单击“授权”。此时,您应该会看到一个登录提示。输入您喜欢的任何内容并登录。在这一点上,庄重的UI应该有一个令牌,但是我还没有做到这一点。

我得到的是一个invalid_client错误,似乎oidc-provider期望Swagger UI不提供授权请求标头。 “隐式”流程似乎也不起作用。就I can tell而言,这是oidc-provider支持的两个流程(使用此配置?)。

我被困住了,不知道从这里去哪里。似乎swagger.yaml文件中的openapi securitySchemes配置与oidc-provider和client选项的正确组合应该可以使它运行。

1 个答案:

答案 0 :(得分:0)

似乎大张旗鼓地发送client_secret_post客户端身份验证,IdP上的默认值为client_secret_basic。如果您更改IdP上的客户端配置以匹配该方案,则该客户端实际正在使用该方案。