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

问题描述

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

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

解决方法

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

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