Я создал API-шлюз с Serverless, и первый маршрут, который я сделал с allowCredentials: true
, не будет работать.
clients-confirmation:
handler: clients.onConfirmation
events:
- http:
path: clients/on-confirmation
method: post
cors:
origin: 'https://840b1a6d.ngrok.io' # <-- Specify allowed origin
headers:
- Content-Type
- X-Amz-Date
- Authorization
- X-Api-Key
- X-Amz-Security-Token
- X-Amz-User-Agent
- Access-Control-Allow-Origin
- Access-Control-Allow-Credentials
- Access-Control-Allow-Methods
- Access-Control-Allow-Headers
allowCredentials: true
cacheControl: 'max-age=600, s-maxage=600, proxy-revalidate'
authorizer: aws_iam
Пользователь вошел в систему, и я использую AWS-Amplify Auth.post
для публикациик маршруту.
Я пытался разместить свой локальный хост на ngrok, чтобы лучше чувствовать реальную среду, но он не будет работать.
Мой ResponseBuilder предоставляет правильные заголовки, я думаю.
export default class ResponseBuilder {
static create(data, withCredentials = false) {
return {
statusCode: 200,
headers: {
'Access-Control-Allow-Origin': 'https://840b1a6d.ngrok.io',
'Access-Control-Allow-Credentials': withCredentials, // true
'Access-Control-Allow-Headers': 'access-control-allow-origin, Access-Control-Allow-Headers, Access-Control-Allow-Origin, Origin,Accept, Access-Control-Allow-Credentials'
},
body: JSON.stringify(data),
'isBase64Encoded': false,
};
}
}
Я использую его при каждом запросе.Я попытался указать источник ngrok и подстановочный знак, но он продолжает сообщать мне одну и ту же ошибку.
Есть ли что-то, чего я не знаю об отклике лямбды или параметре, который я должен добавить в свой сервер без серверафайл?
Большое спасибо за помощь!