소셜로그인에서의 이해와 로직

Jinjin·2023년 11월 13일
3
post-thumbnail

소셜로그인?

소셜 로그인(Social Login)은 웹 및 모바일 애플리케이션에서 사용자가 다른 웹 서비스나 소셜 미디어 플랫폼의 자격 증명(로그인 정보)을 사용하여 로그인할 수 있는 기술 또는 기능을 말합니다.


📌 왜 간편로그인이라고 부를까? 사용자가 새로운 웹 서비스나 애플리케이션에 가입하고 로그인할 때 일반적으로 요구되는 별도의 사용자 이름과 비밀번호를 기억할 필요 없이 다른 웹 서비스 계정을 활용하여 간편하게 로그인할 수 있도록 도와줍니다.

Ex) 카카오, 네이버, 페이스북 등등


🔎소셜로그인의 회원가입 흐름

  1. 사용자가 소셜 로그인을 선택하여 해당 플랫폼에서 제공하는 웹페이지에서 아이디와 비밀번호를 입력한다.
  2. 현재 회원가입을 진행하려는 플랫폼에 정보를 제공할 범위를 선택하고 동의를 받는다.
  3. 사용자가 동의를 마치면, 소셜 미디어 플랫폼은 인가 코드를 생성하고 클라이언트 어플리케이션으로 리다이렉트된다. 이때, 인가 코드는 request에 담아서 반환된다.
  4. 개발자는 인가 코드로 소셜 미디어 플랫폼에 접근하여 accessToken과 refreshToken을 발급받는다.(accessToken이 만료되면, refreshToken으로 토큰을 재발급 받음)
  5. 개발자는 accessToken으로 사용자가 이전에 동의한 정보들을 받아온 후 해당 플랫폼에 사용자의 정보를 저장하고 등록한다.

🔎소셜로그인의 로그인 흐름

  1. 사용자가 소셜 로그인을 선택하여 해당 플랫폼에서 제공하는 웹페이지에서 아이디와 비밀번호를 입력한다.
  2. 소셜 미디어 플랫폼은 인가 코드를 생성하고 클라이언트 어플리케이션으로 리다이렉트된다.

✔ 이때, 저는 일반 로그인과 소셜 로그인을 같이 쓰기 위해 (2)번이 끝났다면 인증을 마친 사용자이므로 제가 개발하는 플랫폼에서의 accessToken과 refreshToken을 발급하였습니다.
(+ accessToken, refreshToken은 FE가 가지고 있고 refreshToken은 Redis에 저장하여 사용했습니다. 해당, 로직은 어떻게 구현하느냐에 따라서 다를 수 있어서 정답은 없습니다!!)

🔎일반로그인

플랫폼에서의 아이디, 비밀번호를 입력한 후 일치하면, accessToken과 refreshToken을 발급했다.

profile
BE Developer

0개의 댓글