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

김관욱님의 프로필 이미지

작성한 질문수

스프링 시큐리티 OAuth2

OpenID Connect 1.0 Endpoint - 사용자 정보 엔드포인트

openid scope가 헷갈려요 ㅠㅠ

해결된 질문

23.12.07 15:24 작성

·

455

0

안녕하세요 강사님.

openid scope가 계속 헷갈려서서요...

  1. scope: openid 

    • 클라이언트에서 id token 검증하여 사용자 인증함

  2. scope: openid profile email address phone

    • 클라이언트에서 access  token을 인가 서버에 전송하여 인가 서버에서 토큰을 검증하여 사용자 인증함

  3. scope: openeid  미포함

    • 클라이언트에서 access  token을 리소스 서버에 전송하여 리소스 서버에서 토큰을 검증하여 사용자 인증함

openid scope는 리소스 서버를 거치지 않고 사용자 인증을위해 사용한다고 생각되는데, 제가 제대로 이해한게 맞는지 궁금합니다!

답변 1

1

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

2023. 12. 07. 20:51

openid 자체가 이미 전자 서명된 토큰이고 이 토큰에 사용자의 식별자가 포함되어 있기 때문에 인증도구로 사용할 수 있다는 의미입니다. 그래서 사용자 정보를 가지고 오기 위해 리소스 서버를 거칠 필요가 없습니다.

access token 은 사용자의 식별정보를 담는 역할이 아니고 사용자의 여러 정보를 가져올 수 있는 권한을 가진 토큰이기 때문에 사용자의 데이터가 존재하는 리소스 서버로부터 데이터를 가지고 와서 인증을 하도록 돕는 역할을 한다고 보시면 됩니다.

scope: openid 와 scope: openid profile email address phone 의 차이점은

openid 만 있을 경우에는 사용자의 식별자정보만 참조할 수 있지만 그 외에 사용자의 다른 정보를 참조하고자 할 때 profile email address phone 를 추가해서 가져오게 됩니다.

 

요약하면 openid 는 인증만을 위한 토큰을 사용하고자 할 때 사용하는 것이며 access token 은 사용자가 속한 시스템의 여러 정보를 통해 인증이나 기타 처리를 하고자 할 때 사용한다고 보시면 됩니다