작성
·
675
답변 5
2
현재 강의를 진행하다 보면 TokenStore, @EnableAuthorizationServer, AuthorizaionServerConfigureAdapter 등 deprecated 된 클래스가 많은데 추가적으로 어떤 부분이 변경이 됐는지 알 수 있을까요?
1
@Wonjin Kim, 강의를 만든 이후, 이 강좌에서 사용한 Spring Security OAuth 프로젝트가 deprecation 됐기 때문입니다. Auth Server를 따로 커뮤니티 프로젝트로 분리되었고, 그밖에 다른 기능으 스프링 시큐리티 프로젝트 5.*에 포함되었습니다.
자세한 건 이 문서를 참고해 주세요.
https://github.com/spring-projects/spring-security/wiki/OAuth-2.0-Migration-Guide
1
제가 실수했네요. 둘 다 AuthenticationManager에 설정하는게 아니라 하나는 AuthorizationServerEndpoint에 설정하는거네요. Endpoint쪽이 사용하는 userDeatilsService가 AuthenticationManager가 사용하는 userDetailsService가 다를 수 있다고 설계한게 아닐까 싶은데요. 말씀하신대로 같은 인스턴스를 사용할꺼라서 불필요한 설정으로 보이네요. enpoint에 userDetailsService를 설정하는 코드를 삭제해도 동작할겁니다.
1
둘이 같은 서비스가 맞는데 참조하는 곳이 다를 뿐입니다. 그리고 둘 다 사실 참조하는 곳은 authentication manager에요. AuthServer 설정에서도 잘 보시면 결국엔 authentication manager에다 설정하는 겁니다.
endpoints.authenticationManager(authenticationManager)
.userDetailsService(accountService)
네 ApplicationRunner는 제거하는게 맞습니다. 말씀하신대로 유저 정보가 중복되니까요.
0
답변 감사합니다. 그런데 혹시 만약 같은 서비스를 참조하는 거라면 authentication manager가 이미userdetailsService로 accountService를 가지고 있는데 왜 또 설정을 하는 건가요?