如何在 DefaultOAuth2AuthorizationRequestResolver 上设置 AuthorizationRequestCustomizer?
How to set an AuthorizationRequestCustomizer on a DefaultOAuth2AuthorizationRequestResolver?
在尝试让 Spring Security OAuth2 5.4.2 与自定义范围和 Auth0 一起工作时 授权码流。我偶然发现了一个我没有简单解决方案的小细节。
要请求自定义范围,Auth0 要求用户提供 audience
parameter。重定向 URI 在 org.springframework.security.oauth2.client.web.DefaultOAuth2AuthorizationRequestResolver#resolve(javax.servlet.http.HttpServletRequest, java.lang.String, java.lang.String)
.
中创建
这个过程可以通过使用 AuthorizationRequestCustomizer
来修改,但是我没有看到任何注入自定义程序的方法,并且 DefaultOAuth2AuthorizationRequestResolver
没有注册为 bean 或者至少我不明白如何访问它。
您可以实施自定义 OAuth2AuthorizationRequestResolver,然后将其添加到您的 spring 安全配置中
.oauth2Login(req->
req.authorizationEndpoint()
.authorizationRequestResolver(new YourCustomAuthorizationRequestResolver)
)
在尝试让 Spring Security OAuth2 5.4.2 与自定义范围和 Auth0 一起工作时 授权码流。我偶然发现了一个我没有简单解决方案的小细节。
要请求自定义范围,Auth0 要求用户提供 audience
parameter。重定向 URI 在 org.springframework.security.oauth2.client.web.DefaultOAuth2AuthorizationRequestResolver#resolve(javax.servlet.http.HttpServletRequest, java.lang.String, java.lang.String)
.
这个过程可以通过使用 AuthorizationRequestCustomizer
来修改,但是我没有看到任何注入自定义程序的方法,并且 DefaultOAuth2AuthorizationRequestResolver
没有注册为 bean 或者至少我不明白如何访问它。
您可以实施自定义 OAuth2AuthorizationRequestResolver,然后将其添加到您的 spring 安全配置中
.oauth2Login(req->
req.authorizationEndpoint()
.authorizationRequestResolver(new YourCustomAuthorizationRequestResolver)
)