在Spring Boot OAuth2中跳过OAuth用户批准

问题描述 投票:12回答:3

我只是想知道是否有任何方法可以跳过Spring Boot中的用户批准屏幕 - Spring Security OAuth2。我听说过自定义用户批准处理程序,但我不确定如何覆盖它以禁用用户批准过程并进行直接重定向。

谢谢

spring-security spring-security-oauth2
3个回答
19
投票

您不需要自定义处理程序来跳过批准(无论如何都是2.0)。您只需将客户端详细信息中的autoApprove标志设置为“true”(或自动批准的范围模式列表)。


2
投票

这是我在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());
        }

0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.