web-dev-qa-db-ja.com

スキップOAuth Spring BootOAuth2でのユーザー承認

Spring Boot-Spring SecurityOAuth2でユーザー承認画面をスキップする方法があるかどうかを知りたいだけです。カスタムユーザー承認ハンドラーについて聞いたのですが、それをオーバーライドしてユーザー承認プロセスを無効にし、直接リダイレクトする方法がよくわかりません。

ありがとう

13
Vijay Muvva

承認をスキップするためにカスタムハンドラーは必要ありません(とにかく2.0以降)。クライアントの詳細のautoApproveフラグを「true」(または自動承認するスコープパターンのリスト)に設定するだけです。

20
Dave Syer

これは、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());
        }
2
Pedro Madrid

set propertyauto-approve-scopes: '。*'in 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