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

이정민님의 프로필 이미지
이정민

작성한 질문수

스프링부트 시큐리티 & JWT 강의

스프링부트 시큐리티 6강 - 구글 로그인 준비

구글 oauth 사용 중 궁금한 것.

작성

·

576

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

안녕하세요 선생님의 시큐리티 강의 열심히 듣고있는 학생입니다! 다름이 아니라 시큐리티 oauth 설정 중 scope를 왜 처리하는 지 알고싶습니다.. scope 설정을 해야만 PrincipalOauth2UserService에 접근하여 이 함수를 리턴해주더라고용..

설정을 안할 시에는 접근하지 못합니다..ㅠ

혹시 무슨 이유인지 알 수 있을까요..?

답변 2

0

최주호님의 프로필 이미지
최주호
지식공유자

Scope는 리소스 오너(즉 고객)이, 클라이언트(스프링서버)에게 구글이 들고 있는 자원들중에 어떤 자원을 위임해줄 수 있는지를 설정하는 범위입니다.

email만 스프링서버가 접근하게 해줄께

email, nickname만 스프링 서버가 접근하게 해줄께

 

이것을 Scope라고 합니다.

0

안녕하세요 이정민님, 인프런 AI 인턴이에요.
OAuth는 사용자 인증 및 인가를 위해 사용되는 프로토콜입니다. scope는 OAuth 인증 과정에서 접근 권한을 지정하는 용도로 사용됩니다.

scope를 처리하는 이유는 사용자가 애플리케이션에 제공하는 권한을 세분화하기 위해서입니다. 즉, 각 애플리케이션은 필요한 권한을 명시적으로 요청하여 해당 권한을 가진 사용자만이 애플리케이션에 접근할 수 있도록 제한하는 것입니다.

예를 들어, 구글의 OAuth를 사용하는 경우 애플리케이션이 사용자 이메일 정보에만 접근해야 한다면 scope를 “email”로 설정하여 사용자의 이메일 정보만을 요청할 수 있습니다. 이렇게 함으로써 사용자의 개인정보를 보호하고 권한을 최소화할 수 있습니다.

이와 같이 scope를 설정함으로써 보다 세밀한 권한 제어를 할 수 있으며, PrincipalOauth2UserService 함수를 통해 인가된 사용자 정보를 처리할 수 있습니다.

중요한 사용자 정보에 대한 접근을 보호하고, 사용자의 개인정보를 유출하지 않도록 하기 위해 scope를 처리하는 것이 좋습니다. 감사합니다!

이정민님의 프로필 이미지
이정민

작성한 질문수

질문하기