목표 : 최종 프로젝트 develop 1. 소셜로그인 도입
⚡️Oauth 란?
내 서비스에 사용자 정보를 다른 보안이 검증된 사이트(Naver, Kakao, google)의 API를 이용해 인증받는 방식
⚡️Oauth의 인증방식
⚡️용어 설명
Resource Owner : 우리 서비스를 인증받아 사용할 사용자
Resource Server : 사용자의 정보가 있는 서버(Naver, Kakao, Google 등)
Client : 우리가 만들고자 하는 서비스
⚡️순서
1) Client에 사용하고자 하는 API에서 인증받아 발급해주는 Client ID와 Client Secret, URI을 저장한다.
**중요! Client ID, Secret이 노출되면 이것을 가지고 유저의 정보를 마구 가져갈 수 있기때문에 꼭 환경변수로 노출시키지 말아야한다!
2) 사용자는 소셜 로그인(회원가입)을 요청하고 사이트 허용을 체크한다.
3) Client는 저장해놓은 ID, Secret, URI에 정보를 담아 Server에 Code를 요청한다.
4) Server는 client가 발송한 정보를 검증 후 code를 callback한다.
5) Client는 다시 server에게 id, code, secret을 준다.
6) Server는 검증 후 token을 URI querystring방식으로 다시 callback해준다.
(이게 access token, refresh token으로 진짜 비밀번호인 셈)
7) Client는 이 access token을 저장한 후 다시 server에 owner의 정보를 달라고 요청한다.
8) Server는 token을 확인하고 Owner의 정보를 제공한다.
다음 포스팅에서는 실제로 어떤 식으로 구현했는지 적어볼 예정이다.