Используя без сервера, я развернул шлюз API с несколькими лямбда-функциями в Node.js. Я также добавил аутентификацию для одной конечной точки GET с помощью лямбда-авторизатора (authenticate. js). У меня нет идей, поэтому любая помощь будет оценена. Единственное, что я могу видеть, - это то, что не назначена роль лямбда-вызова для авторизатора. Я не нашел никаких документов о том, как добавить это в безсерверный yaml, но в журналах Cloudwatch не отображаются какие-либо выполнения авторизатора, поэтому я ожидал 403 или что-то в этом роде.
- Локальное тестирование с автономным сервером работает просто отлично
- Локальное тестирование с помощью Postman работает просто отлично
- После развертывания тестирование лямбд в консоли AWS работает нормально *
- После развертывания тестирование метода API Gateway в AWS консоль работает нормально
- После развертывания проверьте подлинность. js Лямбда-авторизатор работает очень хорошо
- После развертывания проверка конечных точек в Postman завершится неудачно и вернет следующую ошибку:
ERROR: The request could not be satisfied
403 ERROR
The request could not be satisfied.
Bad request.
We can't connect to the server for this app or website at this time. There might be too much traffic or a
configuration error. Try again later, or contact the app or website owner.
If you provide content to customers through CloudFront, you can find steps to troubleshoot and help prevent this error by reviewing the CloudFront documentation.
Generated by cloudfront (CloudFront)
Request ID: yx1B1i6k_J1nqf_jPMTN4AyHD8gKE85KajxhcosOMUZ-tHWoU1E54w==
serverless.yaml:
functions:
authenticate:
handler: src/handlers/auth.authenticate
list:
handler: src/handlers/api.list
events:
- http:
path: todos
method: get
cors: true
authorizer: authenticate
Lambda Authorizer: