Social Login

진성·2022년 7월 29일
0
post-thumbnail

Social Login?

소셜 로그인(Social Login)은 소셜 네트워킹 사이트의 정보를 이용해 타사 애플리케이션과 플랫폼에 손쉽게 로그인을 할 수 있는 프로세스를 의미한다.
이 프로세스는 따로 계정을 만들 필요 없이 로그인을 할 수 있게 간편하게 할 목적으로 만들어졌다.

예시로 위와 같이 타사 애플리케이션 또는 플랫폼 계정을 이용하여 로그인을 하는 것이다.

소셜 로그인의 장점은 두가지의 관점으로 나뉠 수 있다.

사용자의 관점으로 봤을 때는 따로 자격 증명을 만들 필요 없이 번거로운 등록 절차를 건너뛰고 사이트 또는 앱에 액세스 할 수 있다.

개발자의 관점에서는 사용자 확인을 간소화하는 동시에 개인화를 목적으로 사용자 데이터에 더욱 안정적으로 액세스 할 수 있는 방법을 제공한다는 점에서 매력적인 기능이다.

소셜 로그인의 작동 원리

  1. 사용자가 앱 또는 사이트에 접속하여 원하는 소셜 네트워크를 선택한다.
  2. 소셜 네트워크 공급업체가 로그인 요청을 받고 사용자를 인증한다.
  3. 소셜 공급업체가 아이덴티티를 확인하면 사용자가 사이트 또는 앱에 액세스 할 수 있다.

소셜 로그인은 몇 가지 핵심 구성요소를 이용한다.
OAuth는 신뢰를 기반으로 소셜 네트워크 데이터를 로그인 용도로 사용할 수 있는 권한을 앱에 부여한다.
OpenID Connect는 타사 로그인을 지원하는 인증 프로토콜로서 사용자가 다른 웹사이트의 로그인 자격 증명을 사용해 앱 및 계정 서비스에 액세스 할 수 있게 해준다.
소셜 로그인은 이와 같은 인증 및 권한 인증 메커니즘을 바탕으로 구현된다.

OAuth, OpenID Connect??

데이터 공격 방법이 다양하듯이 보호하는 방법 또한 다양하다.
개발자와 IT 전문가들에게는 페더레이션된 아이덴티티를 안전하게 보호할 수 있는 표준을 선정하는 것이 중요하다.

  • 페더레이션 아이덴티티
    디지털 아이덴티티는 사람들이 온라인 환경을 이동할 때 자신의 고유성을 정의하는 속성들로 구성된다.
    페더레이션 아이덴티티는 이러한 속성을 정의하는 개체와 사용하는 개체 사이에서 이루어지는 합의이다.
    사용자가 한 곳에 로그인한 후 다른 자산을 사용하기 위해 이동할 때 다시 로그인 할 필요가 없는 이유도 이러한 합의가 존재하기 때문이다.

페더레이션 프로세스를 구조화하는 표준에는 OAuth, SAML(Security Assertion Markup Language), OpenID Connect 세 가지가 존재한다.
이것들은 모두 페더레이션 프로세스를 구조화하는 것이지만 분명한 차이점이 존재하다.

OAuth는 애플리케이션이나 파일과 같이 보호를 받는 리소스에 대한 권한 인증을 제어하는 프레임워크인 반면에 나머지 두개는 페더레이션 인증에 관한 업계 표준이라는데 있다.
따라서 근본적으로 OAuth는 나머지 두 표준과 다른 상황에서 사용되지만 함께 사용되기도 한다.

기업 또는 개발자는 OpenID Connect나 SMAL 중 하나를 사용하여 사용자 인증을 달성하고 SSO(Single Sign-On)를 구축할 수 있다.
두 표준 모두 로그인을 처리하지만 장단점이 존재한다.

  • OpenID Connect는 OAuth 기반으로 개발되어 JWT를 사용해 범위, 엔드포인트 탐색 등 OAuth에서 선택 영역을 표준화 한다.
    사용자 인증에 초첨을 맞추기 때문에 웹사이트 및 모바일 앱에서 널리 사용된다.

  • SAML은 OAuth와 관련이 없으며, 메시지 교환을 통해 XML 형식으로 인증한다.
    이 표준은 기업 사용자가 단일 로그인을 사용해 다수의 애플리케이션에 로그인하는데 주로 사용된다.

OAuth, OpenID Connect 용도

OAuth를 사용하면 애플리케이션이 자격 증명을 공유하지 않고도 사용자를 대신해 서버에서 리소스에 액세스 할 수 있다.
이것이 가능한 이유는 아이덴티티 공급업체가 사용자의 승인을 타사 애플리케이션에 토큰을 발행할 수 있기 때문이다.

OpenID Connect는 사용자 인증에 사용되는 개방형 표준이다.
아이덴티티 공급업체가 이 표준을 사용하는데 그 이유는 사용자가 아이덴티티 공급업체에 로그인 한 후 다시 로그인 하거나 로그인 정보를 공유하지 않고도 다른 웹사이트와 앱에 액세스 할 수 있기 때문이다.

기업은 이러한 웹 프레임워크와 프로토콜을 사용해 페더레이션된 아이덴티티를 구조화하여 안전하게 보호한다.

참고
소셜 로그인이란? 정의, 이점 및 구현 가치
페더레이션 아이덴티티란 무엇인가요?
OAuth, OpenID Connect, SAML의 특징 및 차이점

profile
풀스택 진행중...

0개의 댓글