问题描述
我在 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 时,重定向 URI 是 http://localhost:8084/oauth2-redirect.html
,在 Micronaut Swagger 中找不到,我无法调用任何端点,因为它没有包含access_token
我认为 micronaut swagger 应该有一个 URI https://localhost:8084/swagger/oauth2-redirect.html
,身份提供者应该重定向到这个 URL。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)