根据 micronaut 文档 https://micronaut-projects.github.io/micronaut-openapi/latest/guide/index.html#enableendpoints ,尝试在最新版本的 Micronaut 中进行 Swagger OAuth 配置
swagger-ui.oauth2RedirectUrl
swagger-ui.oauth2.clientId
swagger-ui.oauth2.clientSecret
swagger-ui.oauth2.realm
swagger-ui.oauth2.appName
swagger-ui.oauth2.scopeSeparator
swagger-ui.oauth2.scopes
swagger-ui.oauth2.additionalQueryStringParams
swagger-ui.oauth2.useBasicAuthenticationWithAccessCodeGrant
swagger-ui.oauth2.usePkceWithAuthorizationCodeGrant
设置任何这些属性时,Micronaut 不仅会生成一个 swagger-ui/index.html 文件,还会生成一个 swagger-ui/oauth2-redirect.html 文件
我可以看到它已经使用以下代码创建了文件 oauth2-redirect.html
tasks.withType(JavaCompile).all {
options.forkOptions.jvmArgs << '-Dmicronaut.openapi.views.spec=swagger-ui.enabled=true,swagger-ui.theme=flattop,swagger-ui.oauth2RedirectUrl=http://localhost:8080/swagger-ui/oauth2-redirect.html,swagger-ui.oauth2.clientId=myClientId,swagger-ui.oauth2.scopes=openid,swagger-ui.oauth2.usePkceWithAuthorizationCodeGrant=true'
}
对于 oauth2.clientId、oauth2RedirectUrl 和 oauth2.clientSecret,这些值对于每个环境 PROD、TEST、DEV、UAT 都不同。通过像上面的代码一样设置值,很难为每个环境进行配置。有没有更好的方法来做到这一点?