해결된 질문
작성
·
613
1
안녕하세요. 강의 내용은 아니지만 네이버의 로그인 서비스를 보고 궁금한 점이 있어 질문남깁니다. 답변 가능하신 부분에 한해서만 답변해주셔도 큰 도움이 될 것 같습니다.
아래는 네이버 자체 서비스에서의 로그인과 소셜 로그인의 UI 와 URL 입니다.
네이버 홈페이지에서 로그인
https://nid.naver.com/
nidlogin.login?
mode=form
&url=https://www.naver.com
외부 서비스에서 로그인
https://nid.naver.com/oauth2.0/
authorize?
response_type=code
&client_id=ibAam66ZZjkRkHSbX93T
&scope=profile email nickname
&state=0JEzMSHI_bFjTEjd-mOvtPYn0mtRPsIMI--gckR2MLs%3D
&redirect_uri=http://localhost:8081/login/oauth2/code/naver
네이버는 인가 서버에서 자체 폼인증과 외부로부터의 인가를 모두 처리하는 것인가요?
또한 Facebook, Line 으로 소셜로그인을 할 수 있습니다. 그렇다면 이는 인가 서버이면서 두 제공자에 대한 클라이언트 역할까지 하는 건가요?
맞다면 강의에서 구현한 소셜 로그인 클라이언트와 인가 서버를 합친 서비스라고 볼 수 있을까요?
답변 1
1
네이버는 인가 서버에서 자체 폼인증과 외부로부터의 인가를 모두 처리하는 것인가요?
제가 자세한 사항까지는 알 수 없지만 인가서버가 OAuth2 용 서버라면 폼인증하고는 무관하다고 보시면 될 것 같습니다. 혹 폼인증과 OAuth2 인증을 모두 처리할 수 있는 통합적인 시스템일 수도 있습니다.
또한 Facebook, Line 으로 소셜로그인을 할 수 있습니다. 그렇다면 이는 인가 서버이면서 두 제공자에 대한 클라이언트 역할까지 하는 건가요?
맞다면 강의에서 구현한 소셜 로그인 클라이언트와 인가 서버를 합친 서비스라고 볼 수 있을까요?
소셜 로그인은 Facebook 이나 네이버와 같은 서비스 제공자가 운영하는 인가서버를 활용해서 사용자를 대신해 클라이언트가 권한을 획득하는 방법입니다. 그렇기 때문에 Facebook 이나 네이버는 클라이언트 역할을 하지 않습니다. 클라이언트 역할은 사용자의 동의를 받아 인가서버로부터 권한을 획득하고자 하는 어플리케이션이라 볼 수 있습니다. 스프링 시큐리티에서는 해당 어플리케이션에서 인가서버와 통신해서 권한을 획득할 수 있도록 여러 API 와 기능을 제공하고 있는 것입니다.