AWS cognito란?
- 유저 계정 관리, 자격증명(토큰 관리)를 따로 DB사용과, Security 구현 없이 사용할 수 있게 하는 AWS 기능.
User pool(사용자풀)
- 사용자 가입 및 로그인 기능 담당
Identity Pool (자격 증명 풀)
- AWS 엑세스에 필요한 임시자격증명
- AWS 내의 서비스(S3 등)에 접근하기 위한 토큰 생성 가능
- 토큰은 jwt기반
자격 증명 토큰(jwt) 구조
- "iss": https://cognito-idp.{지역}.amazonaws.com/{유저풀id}
- 유저 풀 id는 aws에서 조작
- "username" : 필수 입력해야함.
AWS cognito 아키텍처 방안
1. 프론드엔드단에서 가입, 자격 증명하기
- 장점: 구성 쉬움(백엔드 없음)
- 단점: user pool id, user identity pool id를 프론트엔드에 노출함. ( 주요 정보가 밖으로 드러나)
2. 백엔드에서 가입, 프론트엔드에서 자격 증명하기
- 1번의 단점을 상쇄하기 위해 고안
- 장점: user pool id, user identity pool id를 프론트엔드에 노출하지 않음.
3. lambda+api gateway를 가입, 프론트엔드에서 자격 증명하기
- 장점: 2번의 장점을 가져가되, 백엔드를 분리하여 따로 개발 가능
- 단점: 개발의 복잡도 올라감.
728x90
'Study > 개발일지' 카테고리의 다른 글
[백엔드TIL] DFS와 BFS란? 작동 방식과 구현 방법 (0) | 2023.10.24 |
---|---|
[백엔드TIL] TCP, UDP 특징과 차이점 (0) | 2023.10.23 |
[백엔드 TIL] WEB 과 WAS 개념 (1) | 2023.10.18 |
[백엔드TIL] TDD (Test Driven Develpment) 원리 (0) | 2023.10.17 |
[백엔드TIL] Java Comparable과 Comparator의 차이 (1) | 2023.10.11 |