복붙노트

[SPRING] Spring OAuth2.0 - OAuth2.0 클라이언트를 동적으로 등록

SPRING

Spring OAuth2.0 - OAuth2.0 클라이언트를 동적으로 등록

나는 스프링 보안을 사용하여 OAuth2.0 인증 서버를 설정하고있다. OAuth2.0 인증 서버가 가동되어 실행 된 후에 OAuth2.0 클라이언트를 동적으로 등록하는 방법이 있는지 알고 싶습니다.

기본적으로 AuthorizationServerConfigurerAdapter를 확장하고 클라이언트의 세부 정보를 메모리에 추가하기 위해 configure 메소드를 재정 의하여 OAuth2.0 서버를 구성하면서 클라이언트를 등록 할 수 있다는 것을 알고 있습니다. 그러나이 방법은 클라이언트가 미리 등록되어 있고 동적으로 클라이언트 세부 정보를 추가하는 방법을 알고 싶습니다.

@보수         public void configure (ClientDetailsServiceConfigurer clients) 예외 {             // @formatter : off             clients.inMemory ()                     .withClient (CLIENT_ID)                     .secret (CLIENT_SECRET)                     .authorizedGrantTypes ( "authorization_code", "implicit")                     .redirectUris ( "http : // junk /")                     .scopes ( "cn")                     .accessTokenValiditySeconds (600);             // @formatter : on         }

해결법

  1. ==============================

    1.JdbcClientDetails를 사용할 수 있어야합니다 (메모리 메소드와 비슷한 편리한 메소드가 있습니다).

    JdbcClientDetails를 사용할 수 있어야합니다 (메모리 메소드와 비슷한 편리한 메소드가 있습니다).

        @Override
        public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
            clients.jdbc(dataSource)
                    .passwordEncoder(passwordEncoder)
                .withClient("my-trusted-client")
            ... etc.
    

    (코드는 https://github.com/spring-projects/spring-security-oauth/blob/master/tests/annotation/jdbc/src/main/java/demo/Application.java#L102에서 가져온 것입니다.) 그런 다음 런타임에 원하는만큼 데이터를 변경할 수있는 데이터베이스가 있습니다.

  2. from https://stackoverflow.com/questions/35783430/spring-oauth2-0-dynamically-register-oauth2-0-client by cc-by-sa and MIT license