首页 > 解决方案 > 处理 Open API 规范中的 authorizationUrl 和 tokenUrl 的多个环境

问题描述

是否有可能以某种方式模板化 oauth2 安全方案的基本路径authorizationUrltokenUrl处理多个环境(例如 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"
    }
}

笔记;

标签: swaggeropenapi

解决方案


推荐阅读