在 swagger ui 中使用 asp.net core 3.1 中的 Swashbuckle 6.0.5 使 AuthorizationUrl 可配置

Posted

技术标签:

【中文标题】在 swagger ui 中使用 asp.net core 3.1 中的 Swashbuckle 6.0.5 使 AuthorizationUrl 可配置【英文标题】:make AuthorizationUrl configurable in swagger ui using Swashbuckle 6.0.5 in asp.net core 3.1 【发布时间】:2021-03-05 21:10:10 【问题描述】:

在 asp.net core 的 swagger 中使用带有隐式流的 OAuth2 作为 SecurityDefinition 时是否可以输入 AuthorizationUrl ?

我的目标是使 AuthorizationUrl 动态化,因此当用户看到为 OAuth2 输入 clientId 的模式时,他也可以更改 AuthorizationUrl 。

【问题讨论】:

可能相关:Handle multiple environments for authorizationUrl and tokenUrl in an OpenAPI spec 【参考方案1】:

OpenAPI 规范和 Swagger UI 都不支持这一点。 authorizationUrl 是硬编码的,cannot be parameterized。需要将不同的 OAuth 身份提供者定义为单独的安全方案。

但是,authorizationUrl 可以定义为 relative to the API server URL,它本身 can be relative 到 OpenAPI YAML/JSON 文件的位置。

【讨论】:

以上是关于在 swagger ui 中使用 asp.net core 3.1 中的 Swashbuckle 6.0.5 使 AuthorizationUrl 可配置的主要内容,如果未能解决你的问题,请参考以下文章

如何在ASP.Net Core的生产环境中保护swagger ui

在 swagger ui 中使用 asp.net core 3.1 中的 Swashbuckle 6.0.5 使 AuthorizationUrl 可配置

[第二篇]如何在ASP.Net Core的生产环境中使用OAuth保护swagger ui

如何在 ASP.NET Core 中更改 Swagger 的基本 url

在 Azure 的 ASP.NET Core 3.1 应用程序中获取 swagger-ui 返回 404

ASP.NET Core 3.1 Web API(版本控制)和 Swagger UI 在发布到 Azure 后由于 MvcJsonOptions 而失败