소셜 로그인

chloe·2020년 11월 8일
2

React

목록 보기
7/16
post-thumbnail

소셜 로그인이란?

현재 2차 프로젝트를 하며 소셜로그인 구현을 맡았다.
아직 구체적으로 Flow를 잘 모르겠어서 정리를 해보려고 한다. 카카오 로그인을 중심으로 기록해본다!

🍊어떻게 카카오로 가입한 적이 없는 서비스에 로그인을 할 수 있을까?

카카오 로그인 연동을 하기 위해서는 필수로 서비스에 가입된 상태여야 한다. 다음에 서비스 제공자로부터 사용자 인증 및 허가를 받는다. 인증자의 정보를 받아 가입한 계정에 저장을 하면 연동이 되는 것이다.
연동된 계정으로 로그인 시도 시, 서비스 제공자로부터 재확인이 완료되면 이 과정이 바로 소셜 로그인이다!

소셜로그인 과정
1)회원가입
2)소셜 로그인 인증 API 호출 -> 인증코드 받음
3)접근 토큰 Access_token 요청 with 인증 코드 -> 접근 토큰 받음
4)회원정보 API 호출 with Access token -> 회원 정보 받음

5)로그인 with 회원 정보

🍇 그런데 여기서 token이란 무엇인가?
서버에서는 권한이라는게 중요하다. 토큰은 즉 본인 확인 수단이라고 볼 수 있다. 예를 들어 로그인 할 때 id와 pw를 넣고 로그인하면 서버가 그것을 확인해서 id와 pw가 맞으면 이 사용자가 유효한 사용자라는 토큰을 발행해준다. 그러면 사용자는 이 토큰을 가지고 해당사이트의 여러 서비스를 이용할 수 있는 것이다.

🍋 Access token && Refresh token 이란?

Access token이란 사용자를 인증하고 (카카오)API호출 권한을 부여하는 토큰이며,
Refresh token이란 액세스 토큰을 갱신하는데 쓰는 토큰이다.

카카오 로그인은 카카오 계정의 사용자 자격정보(credential)로 인가 코드를 받아오고, 인가 코드로 액세스 토큰과 리프레시 토큰을 얻는 과정으로 돼 있다. 리프레시 토큰은 사용자가 매번 카카오 계정 정보를 입력하거나 카카오톡으로 로그인하지 않고도 액세스 토큰을 발급받을 수 있게 한다.

profile
Front-end Developer 👩🏻‍💻

0개의 댓글