Xác thực người dùng cuối với Amazon Cognito
Triển khai Ứng dụng trên AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Tự xây đăng nhập?
Ứng dụng mới cần đầy đủ đăng ký và đăng nhập
Nhóm định tự xây hệ thống auth từ đầu
Cognito đã làm việc này an toàn sẵn rồi
User pool và identity pool
User pool
: thư mục người dùng được quản lý
Xử lý đăng ký, đăng nhập và phát hành
token
Identity pool
: đổi đăng nhập lấy
thông tin xác thực AWS
Dùng kết hợp: xác thực rồi cấp quyền truy cập AWS
Ba loại token của Cognito
ID token
: người dùng là ai (các claim danh tính)
Access token
: người dùng được gọi gì
Refresh token
: lấy token mới mà không phải đăng nhập lại
Cả ba đều là
JWT
bạn có thể giải mã và xác thực
Danh tính liên kết (Federated identity)
Liên kết danh tính (Federation)
: đăng nhập bằng nhà cung cấp danh tính bên ngoài
Mạng xã hội: Google, Facebook, Apple
Doanh nghiệp: nhà cung cấp
SAML
và
OIDC
Cognito đứng giữa thiết lập tin cậy và phát hành token của riêng nó
Cognito làm bộ ủy quyền cho API Gateway
API Gateway có thể dùng
Cognito authorizer
Client gửi token trong
Authorization header
API Gateway xác thực token trước khi backend chạy
Token không hợp lệ hoặc hết hạn được
chặn ngay biên
Luồng phổ biến: đăng nhập đến gọi API
Người dùng đăng nhập vào
user pool
Nhận ID, access và refresh token
Client gọi API Gateway bằng
access token
Cognito authorizer xác thực rồi backend chạy
Lỗi Cognito thường gặp
Gửi
ID token
vào chỗ cần access token
Nhầm lẫn giữa user pool và identity pool
Cố cấp quyền
truy cập AWS
chỉ với user pool
Lưu token không an toàn trên client
Cùng luyện tập nào!
Triển khai Ứng dụng trên AWS
Preparing Video For Download...