1

我在 Micronaut 应用程序中使用 swagger open API 3,授权 + 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 没有映射,我不知道如何映射,目前我正在手动放置。

当 Open Id 重定向到身份提供者时,我能够执行成功的身份验证。

现在,当身份提供者重定向回 micronaut swagger UI 时,重定向 URIhttp://localhost:8084/oauth2-redirect.html在 Micronaut Swagger 中找不到,我无法调用任何端点,因为它不包含access_token

我认为 micronaut 招摇应该有一个 URI https://localhost:8084/swagger/oauth2-redirect.html,身份提供者应该重定向到这个 URL。

4

0 回答 0