AWS Cognito 사용
Amazon Cognito는 경쟁력있는 가격으로 수백만 명의 사용자로 확장 할 수있는 사용자 디렉터리를 제공한다.
Amazon Cognito 호스팅 UI를 사용한 가입 및 로그인 링크
Cognito 사용자들이 해당 서비스를 좋아하는 이유
- 단순성
- 견고성
- 다른 AWS 서비스와의 사전 통합
Cognito는 기본 웹 UI와 함께 제공된다.
→ Amplify SDK와 함께 사용하면 웹 앱에 권한 부여 환경을 간단하게 추가 할 수 있다.
→ 코드 몇 줄을 추가하게 되면 사용자에게 보안적인 웹 환경을 제공할 수 있다.
호스팅 UI에 대한 문제점
- UI는 약간 올드한 느낌이 들고 전체적인 분위기는 제한된 범위안에서 커스텀할 수 있다 ( ticket ).
- UI는 영어로만 제공되며 다른 언어 ( ticket )는 지원하지 않는다.
- UI는 Cognito의 대소 문자를 구분하는 사용자 이름 / 이메일 일치 ( ticket )에 대한 해결 방법을 구현할 수있다 -> 하지만 지원해주지 않는다. (사용자는 대/소문자 구분해주지만 이메일은 해주지 않는다)
- multi-tenant 애플리케이션에서 각 tenant에는 데이터 분리, 암호 정책, SAML 지원 등을 위해 자체 Cognito 사용자 풀이 필요하다. 그러나 Cognito는 호스팅 UI에 대해 계정 당 최대 4 개의 사용자 지정 도메인을 지원한다 ( 문서 ). 즉, 사용자는 tenant.your-company.com처음 4 개의 테넌트 에 대해서만 UI에 액세스 할 수 있다.
→ 요약하면, "표준 영역"을 벗어나면 Cognito 호스팅 UI를 교체해야 할 이유가 많다.
Cognito 호스팅 UI 쉬울 것 같은데 왜?
UI 교체는 "입력 상자 2개, 제출 버튼 및 클릭 핸들러. 뭐 이정도만 해도 되겠지" 라고 생각하며 그렇게 어렵지 않겠다고 생각할 수도 있다.
하지만 틀렸다
로그인 실패, 비밀번호 복구, MFA, SAML/AD, 오류 상태 등, 사용자 이름/비밀번호 입력 화면과 함께 더 많은 화면과 플로우가 존재한다. 어떤 개발자는 그 너머에는 훨씬 더 큰 도전이 숨어 있다고 한다.
UI편하게 쓰려고 사용했다가 맘에 안들어서 커스텀을 하게되면 배보다 배꼽이 커지는 느낌이다.
Cognito Hosted UI는 UI보다 훨씬 더 갈길이 멀다. Cognito API가 지원하는 full blown(완벽히 개발된) OAuth 서버이다.
Cognito Hosted UI에서 처리하는 항목 예시로는 아래와 같이 여러 개가 있다.
- 액세스 토큰을 웹 응용 프로그램으로 리디렉션
- URL 유효성 검사 리디렉션
- SAML 플로우
→ 호스트된 UI를 교체하려면 이러한 기능도 재구축해야 한다.
※ 참고사이트
docs.aws.amazon.com/ko_kr/cognito/latest/developerguide/cognito-user-pools-app-integration.html
'Dot . > 개인 공부 기록용' 카테고리의 다른 글
[Eclipse] Github Personal Access Token 발급 및 설정 방법 (git-receive-pack not permitted 에러 해결) (0) | 2021.08.15 |
---|---|
데이터 포맷 설명 및 비교 (XML, JSON, CSV) (0) | 2021.05.13 |
Mac OS에서 PostgreSQL (Postgres.app) 설치 및 사용법 정리 (0) | 2021.04.28 |
[AWS] AWS Cognito User pool 의 Primary Key? 다른 DB와 연결? (0) | 2020.10.29 |
[Git] 갑자기 Git의 역사가 궁금해졌다 (0) | 2020.10.19 |