Oauth의 기능
- 어떤 사용자가 우리의 서비스를 이용하려 한다.
- 그런데 이 사용자가 정말 올바른 권한을 가졌는지 확인해보려고 한다.
- 이 때 구글 등 이미 이 사용자가 회원가입한 서비스에서 “이 고객은 우리가 신원을 보증하니 통과시켜도 됩니다.”라고 말해준다.
- 우리는 구글에서 신원을 인증해주니 우리의 자원들을 사용할 수 있는 권한을 부여해준다.
아래와 같은 절차가 필요하다.
- 우리의 Front 웹사이트(도메인)를 구글에다가 알려줘야 한다. 이 Front 사이트에서 구글에 요청을 하게 되면 구글 API에서 적합한 권한을 가지고 있는지 판단해준다.
- 구글 서버로부터 Front 페이지는 id token과 access token을 받아온다.
- 우리의 프론트 페이지는 받아온 id, access token을 우리의 서버로 보내준다.
- 우리 서버는 구글에 id token이 유효한지 체크해준다.
- id token의 유효성을 검증하게 되면 구글에서 Validate 응답을 보내주고
- 우리 서버가 프론트 페이지에게 응답(200코드)을 보내준다.
- 200코드를 확인하게 되면 메인 홈페이지로 넘어간다.
로그인을 구현하기 전에 해야할것 (페이스북 예시)
- 페이스북 개발자 계정 등록/ 앱 등록(클라이언트id값 생성)
- SDK로드(index.html에 fb developers docs에서 제공하는 소스코드를 붙여 넣는다)
SDK이란 (Software develop kit.) 제공받는 api를 편리하게 이용하기위한 핸들러
- SDK init (초기화) - sdk를 이용하는 우리가 누군지 페이스북에 알려줌
(로드한 SDK에 클라이언트id값을 세팅하는 것을 통해)