해결된 질문
작성
·
504
0
안녕하세요 강사님.
openid scope가 계속 헷갈려서서요...
scope: openid
클라이언트에서 id token 검증하여 사용자 인증함
scope: openid profile email address phone
클라이언트에서 access token을 인가 서버에 전송하여 인가 서버에서 토큰을 검증하여 사용자 인증함
scope: openeid 미포함
클라이언트에서 access token을 리소스 서버에 전송하여 리소스 서버에서 토큰을 검증하여 사용자 인증함
openid scope는 리소스 서버를 거치지 않고 사용자 인증을위해 사용한다고 생각되는데, 제가 제대로 이해한게 맞는지 궁금합니다!
답변 1
1
네
openid 자체가 이미 전자 서명된 토큰이고 이 토큰에 사용자의 식별자가 포함되어 있기 때문에 인증도구로 사용할 수 있다는 의미입니다. 그래서 사용자 정보를 가지고 오기 위해 리소스 서버를 거칠 필요가 없습니다.
access token 은 사용자의 식별정보를 담는 역할이 아니고 사용자의 여러 정보를 가져올 수 있는 권한을 가진 토큰이기 때문에 사용자의 데이터가 존재하는 리소스 서버로부터 데이터를 가지고 와서 인증을 하도록 돕는 역할을 한다고 보시면 됩니다.
scope: openid 와 scope: openid profile email address phone 의 차이점은
openid 만 있을 경우에는 사용자의 식별자정보만 참조할 수 있지만 그 외에 사용자의 다른 정보를 참조하고자 할 때 profile email address phone 를 추가해서 가져오게 됩니다.
요약하면 openid 는 인증만을 위한 토큰을 사용하고자 할 때 사용하는 것이며 access token 은 사용자가 속한 시스템의 여러 정보를 통해 인증이나 기타 처리를 하고자 할 때 사용한다고 보시면 됩니다