대가는 결과를 만든다

SSO를 위한 대표적인 두가지 방법 - SAML과 OAuth 간단 정리 본문

개발/Web관련

SSO를 위한 대표적인 두가지 방법 - SAML과 OAuth 간단 정리

yunzema 2020. 2. 14. 11:45
반응형

INTRO

SSO는 Single Sign-On의 약자로 한번의 로그인으로 여러개의 다른 도메인을 이용한다는 의미를 담고 있다.

예를들어, 로그인 검증은 A라는 곳에서 하고, B라는 곳에서는 A에서 검증된 로그인 정보라면 검증을 따로 하지 않게끔 하는 것이 SSO에 해당한다.

이런 SSO를 구현하기 위한 대표적인 방법으로 SAML, OAuth가 많이 사용된다.

 

1. SAML (Security Asserting Markup Language)

: (로그인) 인증/인가 정보를 담은 XML

: cross domain 상황, 다양한 플랫폼에 관계없이 표준적인 방법으로 SSO 구현이 가능하게 함

: 아래와 같이 3가지의 구성원이 존재

 

 1) Service Provideer (SP) : 서비스 제공 주체

 2) User

 3) Identify Provider (IdP) : User 인증을 담당하는 주체

 

=> 아래와 같은 프로세스로 동작한다.

 

 

2. OAuth

: 개발자가 구현한 서비스의 인증 및 권한 부여를 관리하는 프로토콜

: OAuth는 현재 2.0 버전 (2012년 이후)

: OAuth의 인증방식은 아래와 같이 크게 4가지 이며, 첫번째가 가장 많이 쓰이는 방식

 

 1) Authorization Code Grant

 2) Implicit Grant

 3) Resource Owner Password Credentials Grant

 4) Client Credentials Grant

 

Authorization Code Grant 동작 프로세스 (권한증서 = Code Grant)

 

자세한 OAuth 프로세스와 SNS 로그인 프로세스는 아래를 참고!!

 

** OAuth2.0과 SNS 로그인 프로세스 참고 : https://tansfil.tistory.com/60

 

위 두 가지 방식의 외부 유저 인증 방식 연동을 AWS Cognito에서 User Pool에서 할 수 있다. 아래 공식 문서 가이드 참고

 

** aws cognito sns로그인 연동 공문서 참고 : https://docs.aws.amazon.com/ko_kr/cognito/latest/developerguide/cognito-user-pools-identity-federation.html

 

Comments