Slack возвращает ошибку при настройке URL подписки на событие с Amazon Lex
Я создал бота в AWS Lex и пытаюсь интегрировать его со Slack. Я создал приложение Slack и следовал документации, упомянутой в
https://docs.aws.amazon.com/lex/latest/dg/slack-bot-association.html
Однако при попытке интеграции с URL-адресом обратной передачи Lex появляется сообщение об ошибке:
Your URL didn't respond with the value of the challenge parameter.
Our Request:
POST
"body": {
"type": "url_verification",
"token": "VbODUleNdk2hieCvDwlScrQF",
"challenge": "HRUXnK6YYLpx5U1s9AiADZgA0BAhWuTzfjAAzLEJIw1zz4GfuMAb"
}
Your Response:
"code": 200
"error": "challenge_failed"
"body": {
}
Насколько мне известно, Lex по умолчанию должен предоставить ответ. Я что-то здесь не так делаю? Любые выводы помогут.
Заранее спасибо.
2 ответа
Я столкнулся с этим сегодня утром и подумал, что добавлю свой собственный опыт. Slack, похоже, продвигает "токен проверки" в качестве замены "ключа подписи" и утверждает, что они взаимозаменяемы, но токен более безопасен. Мне не удалось получить ответ на запрос при использовании токена, но он работал нормально при использовании ключа.
Столкнулся с той же проблемой. Запрос POST, который Slack отправлял моей конечной точке, не был тем, для чего была разработана моя функция. Я следовал руководству на https://api.slack.com/tutorials/events-api-using-aws-lambda и должен был добавить строку:
exports.handler = (data, context, callback) => {
data = JSON.parse(data.body); // added this line
switch (data.type) {
case "url_verification": verify(data, callback); break;
case "event_callback": process(data.event, callback); break;
default: callback(null);
}
};