[AWS] Cognito
2023. 3. 23. 01:12ㆍ카테고리 없음
AWS Cognito는 웹 및 모바일 앱에 대한 인증과 권한 부여 그리고 사용자 관리를 제공하고 기존의 아이디, 패스워드 방식 이외에도 Facebook, Amazon, Google 그리고 Apple과 같은 여러 회사의 소셜 로그인 기능을 제공하는 서비스 입니다.
Cognito는 사용자 풀(user pool)과 자격 증명 풀(identity pool)으로 구성되어 있는데, 이 둘을 조합하거나 또는 각각 별개의 형태로 사용할 수 있고, 이들 각각의 역할은 다음과 같습니다.
- 사용자 풀 - 사용자의 가입과 로그인을 제공하는 사용자 저장소
- 자격 증명 풀 - 사용자 풀에 저장된 정보를 바탕으로 로그인 또는 회원가입에 성공한 사용자에게 AWS 인프라의 여러 서비스에 대한 권한을 부여할 수 있는 서비스
사용자 풀의 인증 flow
현대식 인증 과정에는 사용자 인증을 위해 단순히 아이디, 암호 인증 외에도 여러가지 챌린지가 통합되어 있습니다.
크게 인증은 두가지 단계로 일반화 할 수 있으며, 이들은 각각 InitiateAuth와 RespondToAuthChallenge API를 통해 구현됩니다.
챌린지란 Cognito에서 인증 수단을 뜻하는 말입니다. 예를 들어, 이메일 인증을 한다고 가정할때, 이메일로 코드를 보내고, OTP 코드를 응답하는 것과 같은 일련의 과정을 챌린지라고 통칭합니다.