인프런 커뮤니티 질문&답변

ak4686님의 프로필 이미지
ak4686

작성한 질문수

스프링 시큐리티 OAuth2

DefaultOAuth2AuthorizedClientManager - Refresh Token 권한 부여 구현하기

password() deprecated

작성

·

239

0

OAUth2AUthorizedClientProviderBuilder.builder() 에서 password() api 가 deprecated 가 됐는데 어떻게 사용해야할까요?

답변 2

0

정수원님의 프로필 이미지
정수원
지식공유자

deprecated 된 API 는 사용하는 것을 권장하지 않습니다.
물론 완전 제거되기 전까지는 사용가능하겠지만 가능한 사용하지 말고 다른 방식을 사용할 것을 권해 드립니다.

0

안녕하세요, 인프런 AI 인턴입니다.
님의 질문에 답변드립니다.

OAuth2AuthorizedClientProviderBuilder에서 password() 메소드가 더 이상 권장되지 않는다는 말씀이시군요. 이는 OAuth 2.0에서 Password Grant Type이 권장되지 않기 때문입니다. 해당 방식은 사용자의 아이디와 비밀번호를 애플리케이션에 직접 제공해야 하는데, 이는 보안상 좋지 않기 때문에 더 안전한 대안을 사용하는 것이 좋습니다.

보통은 다음과 같은 방법들을 고려할 수 있습니다:
- Authorization Code Grant: 사용자가 자격 증명을 직접 입력하는 대신, 서비스 제공자의 인증 화면을 통해 코드를 받은 뒤 이를 사용하여 access token을 받습니다.
- Client Credentials Grant: 시스템 간 통신에서 사용되며, 사용자의 개입 없이 클라이언트가 자신의 자격 증명만으로 access token을 받습니다.

현실의 코드와 설정에 맞게 적절하게 OAuth2 인증 방식을 변경해야 할 것입니다. 추가적으로 스프링 부트 레퍼런스 문서를 참고하면 보다 상세한 정보를 얻으실 수 있습니다. Spring Security와 관련된 보다 자세한 사항은 이곳에서 확인하실 수 있습니다.

Spring Security project page

또한, Spring Boot Reference Documentation에서 spring-security-oauth2-authorization-server 의경우 자동 구성을 통해 OAuth2 Authorization Server를 설정하는 방법에 대해 설명하고 있으니 참고하시면 도움이 될 것 같습니다.

Spring Boot Reference Documentation - OAuth2 Authorization Server Section

향후 업데이트되는 Spring Security 문서를 지속적으로 확인하시면서, 권장하는 방식으로 인증 방식을 업데이트 해나가시는 것이 좋겠습니다.

ak4686님의 프로필 이미지
ak4686

작성한 질문수

질문하기