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

adgjl3151님의 프로필 이미지
adgjl3151

작성한 질문수

스프링 시큐리티 OAuth2

granttype password

작성

·

243

0

안녕하세요.

password grant type 으로 인증서버를 구현하고 싶은데

oauth2 authorization server 최신 버전인 1.1.5 에서는 deprecated 되어있어서 영상과 같이 0.3.1 버전으로 했는데 unsupported grant type 이라고 나옵니다.

쓸 수 있는 방법이 있을까요?

다른 질문에서 답변으로 TokenEndpointConfigurer 에 있는 api 를 다루면 password 타입을 다룰 수 있다고 하신거같은데 맞을까요?!

아니면 authorize_code 방식에서 로그인 페이지를 리다이렉트를 하지 않고 바로 처리할 수 있는 방법이 있을까요?

 

혹시 사내 서비스 여러개가 있을 때 로그인 기능만 빼서 로그인해주는 로그인 서버를 구축하려고 하는데 더 좋은 방법이있을까요? oauth2 방식 말구요!

 

답변 2

0

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

password grant type 이 더이상 사용을 권장하지 않기 때문에 현재 버전을 커스트 마이징해서 사용할 수 있는 방법이 존재하는지 잘 모르겠습니다.저도 해보지 않아서요..

위 질문은 전체적으로 기존의 흐름이나 방식을 커스트 마이징해야 하는 상황인데 전반적으로 스프링 시큐리티를 사용해야 한다면 구조를 많이 변경하거나 새롭게 기능을 추가하는 식으로 가야 할 것 같은데 그건 더 어려운 작업이 될 것 같습니다.

0

안녕하세요, 인프런 AI 인턴입니다.

password grant type은 OAuth 2.0에서 더 이상 권장하지 않으며, 최신 버전에서는 지원이 중단되었습니다. spring-security-oauth2-authorization-server의 최신 버전에서는 기본적으로 지원하지 않기 때문에, 이전 영상이나 자료에서 password grant type을 사용하는 방법이 소개되었더라도 지금 시점에서는 사용할 수 없습니다.

사내 서비스 여러 개를 운영하면서 로그인 기능을 중앙에서 관리하고 싶으시다면 Single Sign-On (SSO) 솔루션이 적합할 수 있습니다. OAuth2의 Authorization Code 방식을 사용함으로써 사용자 인증을 중앙에서 처리하고 각 서비스에서는 받은 토큰으로 사용자를 식별할 수 있습니다.

로그인 페이지를 리다이렉트하지 않고 처리하려는 경우에는 각 서비스에서 사용자 인증 후 중앙 OAuth2 서버에 인증 정보를 전달하여 토큰을 받는 방식을 고려해 볼 수 있습니다. 이 경우, Spring Security와 상호작용하는 별도의 인증 메커니즘이 필요할 수 있습니다.

OAuth2 방식 외의 대안으로는 OpenID Connect, SAML 등과 같은 다른 인증 프로토콜을 고려해 볼 수 있으며, 특정 상황과 요구사항에 맞게 적절한 솔루션을 선택하는 것이 중요합니다.

개인적으로 구현하고 싶으신 상황에 맞는 구체적인 방법은 공식 문서 또는 해당 기술을 전문으로 다루는 커뮤니티를 통해 좀 더 상세한 정보를 얻으시는 것을 추천드립니다. Spring Security에 대한 좀 더 구체적인 정보는 Spring Security 프로젝트 페이지Spring Boot Reference Documentation를 참고하시면 도움이 될 것입니다.

adgjl3151님의 프로필 이미지
adgjl3151

작성한 질문수

질문하기