Social Loigin 설명하기 위해서는 두 가지 개념에 대한 이해가 필요하다.
지난번 포스팅 했던 것을 참고하도록 하자.
[Login Process?]
https://velog.io/@eotkds/Login-Process
[JWT?]
https://velog.io/@eotkds/JWT
우선 참조된 사이트를 참고 하려고 한다. 그리고 강의 시간에 들었던 것과 같이 소개 하도록 하겠다. 등장인물이 세 명이 등장한다.
Authentication
사용자는 Client에 접속해서 직접 회원가입/로그인 대신 Resource Server(구글, 네이버, 카카오 와 같은 사이트)에 로그인/회원가입 하는 절차를 밟는다.
기존에는 사용자가 Client에게 정보(ID, pw, email 등)를 전달 하면 데이터 베이스에 저장하는 방식인데, 이 정보를 구글이나 네이버와 같은 곳에서 대신 인증을 해주고 정보를 전달하는 방식이다.
Access Token, Refresh Token
앞선 포스팅에서 Access Token과 Refresh Token을 소개 하였다. 기존에는 Client에서 2개의 토큰을 모두 발행하였다. 하지만 소셜로그인은 구글과 같은 Resource Server에서 Access Token을 발행 하고 , Client에서 Refresh Token을 발급한다고 한다. (사실 이 부분이 계속 헷갈린다. Access Token을 기존 처럼 발행해도 가능 하지 않을까? 구글같은 곳에서 req에 승인된 정보를 받으면 말이다. 그런데 또 대신 인증해주는 것에서는 Access Token이 맞는거 같기도 한다. ㅠ)
Redirect URL
소셜 로그인을 만들다보면 소셜 사이트에는 Redirect URL을 제공하기로 되어있다. Redirect URL은 현재 이해 하기로는 회원가입/로그인을 Resource Server와 Client가 확인 하고 난 후 사용자에게 제공되는 사이트 화면이라고 할 수 있다. 로그인 후 사용 할 수 있는 페이지 일 것이다.
더 자세한 내용들이 많았지만 자세하게는 들어가기게는 아직은 부족함 감이 들었다. 복습이 필요한 상황이다.
[OAuth 완벽하게 이해하기, velog, 2022년05월02일 접속]
https://velog.io/@parkoon/OAuth-%EC%99%84%EB%B2%BD%ED%95%98%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0
[소셜로그인기능 구현(1)_그 원리와 절차에 대해, velog, 2022년05월02일 접속]
https://velog.io/@hyunju-song/%EC%86%8C%EC%85%9C%EB%A1%9C%EA%B7%B8%EC%9D%B8%EA%B8%B0%EB%8A%A51OAuth