구글 로그인을 사용하는 소셜 로그인 프로세스는 아래와 같이 진행된다.
브라우저에서 서버로 구글 로그인 페이지를 요청한다.
서버는 브라우저에 구글 로그인 페이지를 응답한다.
사용자는 브라우저의 구글 로그인 페이지를 통해 구글 계정으로 로그인한다.
구글 서버는 로그인 정보인 시크릿코드를 브라우저에 전송한다.
브라우저는 구글 서버로부터 받은 시크릿코드를 서버로 전송한다.
서버는 사용자를 구글 서버로부터 인증하기 위해 브라우저로부터 받은 시크릿코드를 다시 구글 서버에 전송한다.
시크릿코드로 구글 사용자가 인증되면 구글 서버는 accessToken과 프로필 정보를 서버에 전송한다.
서버는 구글 서버로부터 받은 accessToken과 프로필 정보로 자체적인 서비스 로직을 처리한다.
회원 가입이 되어 있지 않다면 회원 가입을 자체적으로 처리한다.
회원 가입 처리 후 자동 로그인 후 refreshToken을 발급한다.
서버에서 발급한 refreshToken을 응답 헤더의 쿠키에 담아 전송한다. 그리고 구글 로그인 페이지를 요청하기 이전의 페이지로 리다이렉트한다.
이후, 브라우저의 쿠키에 저장된 refreshToken을 다시 서버로 전송해 accessToken을 발급 받는다. 그리고 필요하다면 accessToken을 사용해 인가 과정이 필요한 API를 요청한다.