swagger - 处理 Open API 规范中的 authorizationUrl 和 tokenUrl 的多个环境
问题描述
是否有可能以某种方式模板化 oauth2 安全方案的基本路径authorizationUrl
以tokenUrl
处理多个环境(例如 dev、sit、uat)?
我工作的公司在每个环境中都有一个单独的 IDP 租户,每个环境中的服务将针对特定的租户/颁发者验证令牌。
理想情况下,我可以定义和选择租户基本 URL,类似于我如何为 API 路由模板服务器 - 请参阅此处。
我securitySchemes
目前看起来像这样:
"securitySchemes": {
"oauth": {
"type": "oauth2",
"flows": {
"authorizationCode": {
"authorizationUrl": "https://tenant-dev.au.auth0.com/authorize?audience=test",
"tokenUrl": "https://tenant-dev.au.auth0.com/oauth/token"
}
}
}
}
到目前为止,我能想到的唯一多环境方法是使用以下安全方案配置,它允许我指定任何 JWT。缺点是我还是需要通过一些外部的方式来获取JWT...
"securitySchemes": {
"oauth": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "JWT"
}
}
笔记;
- 我们正在使用外部 IDP,因此 IDP 基本 URL 不会与服务基本 URL 重叠。
- Swagger UI 在生产环境中无法访问,但仍然有 dev、sit 和 uat。
解决方案
推荐阅读
- php - 用大括号将字符串转换为数组
- reactjs - 如何使用 React-Redux 从另一个类调用函数?
- xslt - 如何使用 Apache Camel 在 XSLT 中为每个组申请
- css - 在图像上旋转晕影
- reactjs - React App:Tiny MCE 不会像我在编辑时那样在保存后突出显示代码
- java - 尝试通过 OAuth2 SMTP 发送 Gmail 电子邮件时出现 AuthenticationFailedException
- java - 为什么引用指向一个由java中的concat()方法返回的SCP区域对象?
- python - 无法将小部件添加到框架
- if-statement - 让椭圆大小改变
- javascript - 按类过滤 jQuery 对象并且没有标签