Thiết lập Xác thực cho Microservice
Thiết lập Xác thực cho Microservice
Ngay bây giờ, nếu bạn nhấp vào nút Go! trên trang web và không nhập thành phố để lọc, bạn sẽ thấy một hộp thoại với tất cả các chuyến đi có sẵn. Chúng ta muốn thay đổi hành vi này để bạn phải đăng nhập để có thể tìm kiếm tất cả các chuyến đi mà không cần bộ lọc. Đây chỉ là một ví dụ để chứng minh cách chúng ta có thể giới hạn các lệnh gọi API nhất định cho chỉ những người dùng được xác thực.
- Truy cập AWS API Gateway Console.
- Nhập
iDevelop - Trip Search API
vào ô tìm kiếm
- Click iDevelop - Trip Search API
- Click Gateway Responses
- Chọn Unauthorized
- Click Edit
- Để ứng dụng web của chúng ta có thể nhận được trạng thái unauthorized (401), chúng ta cần thêm CORS headers vào phản hồi. Nếu không có header, trình duyệt sẽ không có quyền nhận trạng thái 401. Chúng ta đã bật CORS cho phản hồi trạng thái 200 khi chúng ta thiết lập các API Gateway endpoint trước đó. Nhưng chúng ta cần cho phép trả lại trạng thái 401 một cách rõ ràng.
- Click Add response header
- Trong cột Response header của Response Header thứ 1, nhập
Access-Control-Allow-Origin
- Cột Value, nhập
'*'
- Trong cột Response header của Response Header thứ 2, nhập
Access-Control-Allow-Headers
- Cột Value, nhập
'*'
- Click Save
Tạo một Authorizer sử dụng Cognito User Pool
API Gateway tích hợp chặt chẽ với Cognito cho xác thực. Bạn chỉ cần khai báo Cognito User Pool là một authorizer cho API của bạn.
- Click Authorizers
- Click Create New Authorizer
- Tại mục Name, nhập
TravelBuddy
- Tại mục Type, chọn Cognito
- Tại mục Cognito User Pool, chọn TravelBuddy
- Tại mục Token Source, nhập
Authorization
- Click Create
Mở yêu cầu xác thực cho microservice /trips
- Click Resources
- Chọn method GET trong /trips
- Click Method Request
- Tại mục Authorization, click biểu tượng bút chì
- Chọn TravelBuddy.Đây là authoriser mà chúng ta đã tạo ở bước trước và liên kết đến Cognito User Pool chúng ta đang sử dụng cho cơ sở dữ liệu người dùng. Nếu nó không xuất hiện, hãy thử làm mới trình duyệt của bạn.
- Click dấu tích xám để lưu lại