소셜 로그인:
소셜 네트워킹 사이트의 정보를 이용해 타사 애플리케이션과 플랫폼에 손쉽게 로그인할 수 있는 프로세스
소셜로그인 프로세스의 등장 덕에 소셜로그인을 이용하면 추가적인 회원가입 없이 로그인을 할 수 있게 되었습니다.
사용자의 관점에선 회원가입과 번거로운 등록 절차 등을 건너뛰어 사이트와 앱을 쉽게 사용할 수 있게 되었으며, 개발자와 기업의 관점에선 사용자에게 데이터를 더욱 안정적으로 액세스 할 수 있게 되었습니다.
client : 소셜로그인 기능을 사용하는 주체, 즉 서비스를 만드는 "개발자 본인"
resource owner : 소셜로그인 기능을 제공하는 서비스를 사용하는 유저
resource server : 소셜로그인 기능을 제공하는 곳( google, facebook, naver, kakao 등등...)
인가를 받기 위해 AuthGuard가 구글 로그인 페이지로Broser(resource owner)
를 이동
로그인을 진행
3-1. 로그인 정보가 구글 서버(resource server)
로 넘어가 인가를 진행
3-2. 인가가 정상적으로 이루어지면 구글 서버(resource server)
에서 구글 로그인 페이지로 응답
3-3. 받은 응답을 가지고 callback URL
에 적힌 API(loginGoogle API)
를 다시 진행
=> 인가 처리가 완료되어 validate 로 넘어감
=> return을 통해 해당 데이터가 req.user로 넘어감
구글 로그인이 통과되어 auth.controller.ts
파일의 API 안쪽 로직 실행
통계적으로 Social Login 서비스를 이용하면 사용자의 수가 2배 이상 늘었으며, 젊은 층의 사용자일수록 Social Login의 사용 경험이 높습니다.
비밀번호에 대한 의존도 감소 : 비밀번호 로그인의 근본적인 취약점 외에도 비밀번호를 하나 더 기억해야 한다는 불편함을 없애 줍니다.
신뢰할 수 있는 프로세스 : 소셜 로그인은 사용자가 액세스하는 사이트에 관계없이 쉽게 알 수 있는, 일관된 로그인 방식을 제공합니다.