Oauth 2.0 : Social Login

ESH'S VELOG·2023년 9월 26일
1

목표 : 최종 프로젝트 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를 요청한다.

  • 이 때, code는 owner가 허용한 사이트라는 것을 인증하는 비밀번호 같은 것이다.

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의 정보를 제공한다.

다음 포스팅에서는 실제로 어떤 식으로 구현했는지 적어볼 예정이다.

profile
Backend Developer - Typescript, Javascript 를 공부합니다.

0개의 댓글