我只是想知道是否有任何方法可以跳过Spring Boot中的用户批准屏幕 - Spring Security OAuth2。我听说过自定义用户批准处理程序,但我不确定如何覆盖它以禁用用户批准过程并进行直接重定向。
谢谢
您不需要自定义处理程序来跳过批准(无论如何都是2.0)。您只需将客户端详细信息中的autoApprove
标志设置为“true”(或自动批准的范围模式列表)。
这是我在JHipster应用程序中更改它的方式:
@Override
public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
clients
.inMemory()
.withClient(jhipsterProperties.getSecurity().getAuthentication().getOauth().getClientid())
.autoApprove(true)
.scopes("read", "write")
.authorities(AuthoritiesConstants.ADMIN, AuthoritiesConstants.USER)
.authorizedGrantTypes("password", "refresh_token")
.secret(jhipsterProperties.getSecurity().getAuthentication().getOauth().getSecret())
.accessTokenValiditySeconds(jhipsterProperties.getSecurity().getAuthentication().getOauth().getTokenValidityInSeconds());
}
set property auto-approve-scopes:application.yml中的'。*'
security:
oauth2:
client:
client-id: acme
client-secret: acmesecret
scope: read,write
auto-approve-scopes: '.*'
也见https://spring.io/guides/tutorials/spring-boot-oauth2/#_social_login_authserver