#java #swagger-ui #micronaut #micronaut-client #micronaut-rest
#java #swagger-пользовательский интерфейс #micronaut #micronaut-клиент #micronaut-rest
Вопрос:
Я использую swagger open API 3 в приложении Micronaut с потоком авторизации PKCE, как показано ниже
@SecurityScheme(name = "Open Id Connect",
type = SecuritySchemeType.OAUTH2,
scheme = "bearer",
bearerFormat = "jwt",
flows = @OAuthFlows(
authorizationCode = @OAuthFlow(
authorizationUrl = "https://dev-6271510.okta.com/oauth2/default/v1/authorize",
tokenUrl = "https://dev-6271510.okta.com/oauth2/default/v1/token",
refreshUrl = "",
extensions ={@Extension(name = "client_id",properties = {@ExtensionProperty(name = "client_id", value = "ssssss")})},
scopes = {@OAuthScope(name = "openid", description= "Open Id scope"),
@OAuthScope(name = "profile", description= "Name scope"),
@OAuthScope(name = "email" , description= "Email scope")}
))
)
Client_id и client_secret не сопоставлены, и я не знаю, как я могу сопоставить, в настоящее время я помещаю его вручную.
Когда открытый идентификатор перенаправляется поставщику удостоверений, я могу выполнить успешную аутентификацию.
Теперь, когда поставщик удостоверений перенаправляет обратно в пользовательский интерфейс micronaut swagger, URI перенаправления http://localhost:8084/oauth2-redirect.html
не может быть найден в Micronaut Swagger, и я не могу вызвать какую-либо конечную точку, потому что она не содержит access_token
Я думаю, что у micronaut swagger должен быть URI https://localhost:8084/swagger/oauth2-redirect.html
, и поставщик удостоверений должен перенаправлять на этот URL.
Комментарии:
1. Вам необходимо настроить пользовательский интерфейс Swagger с
usePkceWithAuthorizationCodeGrant
= true .2. @Helen Спасибо за информацию, но я не знаю, как установить ее с помощью Micronaut. Я не нашел никаких настроек в документации Micronaut.
3. Если у Micronaut нет способа изменить конфигурации пользовательского интерфейса Swagger, возможным решением может быть размещение ресурсов Swagger UI dist вручную.