У меня есть бессерверный js API с настройкой аутентификации IAM, я проверил мой API и его работоспособность локально, используя Serverless offline start
, но после его развертывания я хотел протестировать его с помощью почтальона, чтобы узнать, что я должен передать в запроседля использования в веб-интерфейсе, поэтому я сделал следующее в почтальоне:
1 - введен URL-адрес get для функции, которую я получил, запустив Serverless info
2 - добавьте аутентификацию на вкладке аутентификации, который имеет тип подписи AWS и заполняет необходимую информацию.
3- Отправив запрос от почтальона, верните следующее:
{
"status": false
}
с 500 Internal Server Error
Пытаясь отладить это, я пошел в облачный фронт AWS и обнаружил следующие журналы:
START RequestId: 48994b56-8cad-4fc6-bc3d-c90d1f927d10 Version: $LATEST
2019-03-01T17:09:13.255Z 48994b56-8cad-4fc6-bc3d-c90d1f927d10 ===ValidationException: One or more parameter values were invalid: Condition parameter type does not match schema type
END RequestId: 48994b56-8cad-4fc6-bc3d-c90d1f927d10
REPORT RequestId: 48994b56-8cad-4fc6-bc3d-c90d1f927d10 Duration: 32.99 ms Billed Duration: 100 ms Memory Size: 1024 MB Max Memory Used: 63 MB
Я не знаю, какие параметры необходимо отправить, так как я могу отладить это больше?
Я попытался отправить токен аутентификации типа Bearer, используя метод аутентификации чуть-чуть почтальона, но он слишком сложен и дал тот же результат!
вот мой API Serконфигурации без вершин:
functions:
# Defines an HTTP API endpoint that calls the main function in create.js
# - path: url path is /notes
# - method: POST request
# - cors: enabled CORS (Cross-Origin Resource Sharing) for browser cross
# domain api call
# - authorizer: authenticate using the AWS IAM role
create:
handler: src/orders/create.main
events:
- http:
path: orders
method: post
cors: true
authorizer: aws_iam
get:
# Defines an HTTP API endpoint that calls the main function in get.js
# - path: url path is /notes/{id}
# - method: GET request
handler: src/orders/get.main
events:
- http:
path: orders/{id}
method: get
cors: true
authorizer: aws_iam
Для справок, я следовал этим учебным пособиям:
1- Без сервера js api: http://serverless -stack.com
2- AWS-cognito-angular-quickstart https://github.com/awslabs/aws-cognito-angular-quickstart.