Trong phần này, chúng ta sẽ tạo Amazon Cognito User Pool để quản lý xác thực người dùng cho ứng dụng FCJ Book Store.
Amazon Cognito User Pool là một thư mục người dùng cung cấp tính năng đăng ký và đăng nhập cho ứng dụng của bạn. Cognito tự động xử lý việc đăng ký người dùng, xác thực và khôi phục tài khoản, giúp bạn không cần xây dựng các tính năng này từ đầu.
Chọn User pools trên menu bên trái.
Nhấp vào Create user pool.

Tại trang Set up resources for your application.
Chọn Traditional web application làm loại ứng dụng.
Chọn Traditional web application vì back-end của chúng ta sẽ xác thực người dùng thông qua các Lambda function gọi trực tiếp vào Cognito API (sử dụng CLIENT_SECRET), thay vì dùng JavaScript SDK trên trình duyệt.
Nhập cognito-fcaj-book-shop vào trường Name your application.

Cuộn xuống phần Configure options.
Tại mục Sign-in identifier, chọn Email.
Nhấp vào Create user directory.

Quay lại trang quản lý Amazon Cognito.
Chọn User pools trên menu bên trái.
Chọn User Pool vừa được tạo (ví dụ: User pool - jbm5in).

Tại trang chi tiết User Pool.
Nhấp vào App clients trên menu bên trái.
Nhấp vào tên App client cognito-fcaj-book-shop.

Tại trang App client: cognito-fcaj-book-shop.
Ghi lại giá trị Client ID và Client secret — bạn sẽ cần dùng chúng ở Phần 3 khi cấu hình Lambda functions.
Client secret chỉ được hiển thị một lần ở đây. Nếu bạn mất nó, bạn sẽ cần phải tạo lại (rotate). Hãy giữ bí mật và không bao giờ commit nó vào source control.
Nhấp vào nút Edit.

Tại trang Edit app client information.
Trong phần Authentication flows, đánh dấu chọn ALLOW_USER_PASSWORD_AUTH.
Chúng ta bật ALLOW_USER_PASSWORD_AUTH vì Lambda function login gọi initiate_auth với AuthFlow="USER_PASSWORD_AUTH" — flow này cho phép xác thực trực tiếp bằng username/password. Nếu không bật, lệnh gọi API sẽ trả về lỗi NotAuthorizedException.

Cuộn xuống cuối trang và nhấp vào Save changes.

Chúng ta đã tạo thành công Cognito User Pool và cấu hình App Client. Ở phần tiếp theo, chúng ta sẽ tạo các Lambda function và tài nguyên API Gateway để xử lý đăng ký, xác nhận và đăng nhập người dùng.