소셜로그인 프로세스의 이해

김지우·2022년 12월 2일
0

5주차

목록 보기
1/4
post-thumbnail

소셜로그인 프로세스

소셜 로그인:
소셜 네트워킹 사이트의 정보를 이용해 타사 애플리케이션과 플랫폼에 손쉽게 로그인할 수 있는 프로세스

소셜로그인 프로세스의 등장 덕에 소셜로그인을 이용하면 추가적인 회원가입 없이 로그인을 할 수 있게 되었습니다.

사용자의 관점에선 회원가입과 번거로운 등록 절차 등을 건너뛰어 사이트와 앱을 쉽게 사용할 수 있게 되었으며, 개발자와 기업의 관점에선 사용자에게 데이터를 더욱 안정적으로 액세스 할 수 있게 되었습니다.


소셜로그인 구현 원리

client : 소셜로그인 기능을 사용하는 주체, 즉 서비스를 만드는 "개발자 본인"
resource owner : 소셜로그인 기능을 제공하는 서비스를 사용하는 유저
resource server : 소셜로그인 기능을 제공하는 곳( google, facebook, naver, kakao 등등...)

💡 구현 과정(예시: main-project 구글)

  1. 구글로그인 버튼을 클릭하면 loginGoogle API가 실행
  1. 인가를 받기 위해 AuthGuard가 구글 로그인 페이지로
    Broser(resource owner)를 이동

  2. 로그인을 진행
    3-1. 로그인 정보가 구글 서버(resource server)로 넘어가 인가를 진행

    3-2. 인가가 정상적으로 이루어지면 구글 서버(resource server)에서 구글 로그인 페이지로 응답

    3-3. 받은 응답을 가지고 callback URL에 적힌
    API(loginGoogle API)를 다시 진행
    => 인가 처리가 완료되어 validate 로 넘어감
    => return을 통해 해당 데이터가 req.user로 넘어감

  3. 구글 로그인이 통과되어 auth.controller.ts 파일의 API 안쪽 로직 실행

출처 : 코드캠프


Social Login의 특징 및 장점

통계적으로 Social Login 서비스를 이용하면 사용자의 수가 2배 이상 늘었으며, 젊은 층의 사용자일수록 Social Login의 사용 경험이 높습니다.

  • 로그인 간소화 : Facebook이나 Google 계정을 이용하면 버튼만 몇 번 클릭하여 타사 웹 페이지에 간편하게 로그인 할 수 있습니다.
  • 비밀번호에 대한 의존도 감소 : 비밀번호 로그인의 근본적인 취약점 외에도 비밀번호를 하나 더 기억해야 한다는 불편함을 없애 줍니다.

  • 신뢰할 수 있는 프로세스 : 소셜 로그인은 사용자가 액세스하는 사이트에 관계없이 쉽게 알 수 있는, 일관된 로그인 방식을 제공합니다.

profile
백엔드 성장 기록

0개의 댓글