Amazon Cognito 사용자 풀로 API 게이트웨이 보호
## 목적 : Cognito 사용자만 API게이트웨이 접속 가능
## 사용자 풀 생성
- 기본값으로 사용자 풀 생성
- APP Clients 생성
- APP Client id 생성
## App integration --> App client settings
- Save changes 클릭
- 먼저 도메인네임 설정 필요
## App integration --> Domain Name 지정 필요
- Save changes 클릭
- 사용자 이름과 비밀번호 묻는 로그인 페이지 생성
## App integration --> App client settings
- Launch Hosted UI 클릭
- 기본 로그인 페이지 생성
- 필요시 UI Customization 활용
## 사용자 가입 화면
## 사용자 로그인 성공시 화면
- Cognito --> API게이트웨이 요청을 승인하는 Json 웹 토큰 역할을 함 (JWT)
---------------------- Cognito 설정 완료 ----------------------------------------------------
====================================================================================
======== 람다와 API 게이트웨이 설정 필요 ===========================
## API 게이트웨이 생성
- Rest API 선택
- DemoApi 생성
- Transactions 리소스 생성
- Create Method 클릭
- 람다 Function 연동 필요
## 람다 생성 (기본값 생성)
- Create Functions
## 다시 API 게이트웨이로 이동 (람다 선택)
- Test 클릭시 정상 확인
- 배포를 위해 Deploy API 클릭
## API 게이트웨이 호출 성공 (웹 접속 테스트)
=======================================================================================
## API (DemoApi) --> Authorizers 클릭
## Cognito 로 이동
- Launch Hosted UI 클릭
- code ==> token 으로 변경 (웹페이지 정상 리다이렉트)
- Access 토큰을 API게이트웨이에서 활용 (실패)
- ID 토큰을 API게이트웨이에서 활용
## API게이트웨이로 이동
- Test 클릭 (ID토큰으로 조회 성공)
## API게이트웨이 Stage 선택
1) 아직까지 Cognito 사용자 풀만 사용하도록 제한 안함
2) Cognito 사용자 풀만 사용하도록 제한
: Authorization 설정
: OAuth Scopes 설정
- 배포를 위해 Deploy API 클릭
- 제한 정책 적용완료
## Postman 으로 검증
- 토큰 제공 필요 (ID 토큰 사용으로 성공)
https://www.youtube.com/watch?v=oFSU6rhFETk
'[AWS-SM] > Cognito' 카테고리의 다른 글
[중요][AWS] Authenticate users using an AWS ALB and Cognito to access API deployed (0) | 2023.02.15 |
---|---|
OAuth2란? (0) | 2023.02.05 |
[AWS] Cognito 회원 가입 및 로그인 기능 구현하기(feat. amazon-cognito-identity-js, TypeScript) (1) | 2023.02.04 |
[AWS] Cognito User Pool 생성하기 (0) | 2023.02.04 |
[AWS] Cognito란? (0) | 2023.02.04 |