11

Tôi đang cố gọi một hàm Lambda thông qua Cổng API AWS.Lỗi: Thiếu Mã xác thực sau khi yêu cầu API AWS

Tôi đã gặp phải lỗi này khi tôi thử xác thực IAM, Xác thực khóa API và cũng không có xác thực. enter image description here

{"message":"Missing Authentication Token"} 

Một số người có cùng vấn đề do điểm cuối không tồn tại. Tuy nhiên, tôi đã lấy điểm cuối của mình trực tiếp từ Bảng điều khiển AWS của Lambda Function. enter image description here

Tôi đã cố gắng mở URL trong Trình duyệt và cả trên Người đăng (có và không có xác thực tiêu đề: x-api-key: ************* ****). enter image description here

Cả hai đều trả lời với lỗi đã nêu ở trên.

+0

Tính năng này có hoạt động nếu bạn thiết lập API đầu tiên trong Cổng API và sau đó thêm hàm Lambda vào API không? –

Trả lời

-2

Bạn cần đặt Api Key Required thành true. Xem thêm ở đây: http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-api-keys.html

+0

Hành vi đối với Khóa Api Bắt buộc = false không phải là để ném một lỗi 403.Các câu trả lời khác là chính xác, điều này có liên quan nhiều hơn với a) sai tài nguyên/phương pháp b) thiếu số tiền trên tài nguyên/phương pháp được bảo vệ –

5

Một bước nữa: trong Postman, bạn cần phải thiết lập các Authorization để AWS Chữ ký, và sau đó nhập bạn accesskeySecretKey từ người dùng IAM của bạn:

Ảnh chụp màn hình của Postman Postman screenshot

+0

Rất tốt! Nó hoạt động trong postman. :) –

3

Tôi sẽ viết Câu hỏi thường gặp chi tiết tại đây cho mọi người xem. Đặt hàng bởi nguyên nhân phổ biến nhất.

  1. Đường dẫn tài nguyên không đúng và/hoặc phương thức HTTP.
    • Nếu bạn có đường dẫn nguồn đúng và phương thức HTTP sai, bạn vẫn sẽ thấy thông báo này
    • Bạn có thể sử dụng Postman hoặc một số khách hàng khác để ký vào một yêu cầu đến tài nguyên cùng/phương pháp và nếu bạn nhận được 404 sau đó bạn chắc chắn có sai tài nguyên/phương pháp.
  2. Thiếu chữ ký trên được bảo vệ tài nguyên/phương pháp. Theo mặc định, API của bạn sẽ mở. Nếu bạn đã yêu cầu AWS Auth rõ ràng thì lỗi sẽ chỉ ra rằng yêu cầu không được ký.
  3. Nếu bạn đang sử dụng bảng điều khiển Lambda để tạo 'Điểm cuối API', đây có thể là sự cố về kết thúc Lambda hoặc sự chậm trễ trong việc truyền bá API mới. Trong trường hợp này, hãy vào giao diện điều khiển API Gateway và bạn sẽ thấy cùng một API mà Lambda đã tạo cho bạn. Đảm bảo rằng nó đã được triển khai và bạn có đúng giai đoạn, đường dẫn tài nguyên và phương thức.
0

Bạn phải bật CORS từ các hành động cho API. Điều này sẽ tạo ra một phương pháp OPTIONS mới. CORS dành cho các yêu cầu miền chéo

Các vấn đề liên quan