gpt4 book ai didi

node.js - Amazon 开发人员不断告诉我功能测试中有关未验证请求的错误

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:21:07 25 4
gpt4 key购买 nike

我目前正在尝试部署 alexa 技能,但是当我尝试提交它以供审核时,它一直告诉我我没有验证签名,我不知道如何在代码上实现它。

'use strict';

require('dotenv').config();
var Alexa = require('alexa-sdk');
var languageStrings = require('./languageStrings.js');

exports.handler = function(event, context, callback) {
var alexa = Alexa.handler(event, context);
// To enable string internationalization (i18n) features, set a resources object.
alexa.resources = languageStrings;
alexa.registerHandlers(handlers);
alexa.execute();
};
const verifier = require('alexa-verifier')


verifier(cert_url, signature, requestRawBody, function callbackFn(er) {
// if er, something went wrong
})

var handlers = {
'LaunchRequest': function () {
this.emit('GetFact');
},
'GetNewFactIntent': function () {
this.emit('GetFact');
},
'GetFact': function () {
// Get a random fact from the fact list
// Use this.t() to get corresponding language data
var factArr = this.t('FACTS');
var factIndex = Math.floor(Math.random() * factArr.length);
var randomFact = factArr[factIndex];

// Create speech output
var speechOutput = this.t("GET_FACT_MESSAGE") + randomFact;
this.emit(':tellWithCard', speechOutput, this.t("SKILL_NAME"), randomFact)
},
'AMAZON.HelpIntent': function () {
var speechOutput = this.t("HELP_MESSAGE");
var reprompt = this.t("HELP_MESSAGE");
this.emit(':ask', speechOutput, reprompt);
},
'AMAZON.CancelIntent': function () {
this.emit(':tell', this.t("STOP_MESSAGE"));
},
'AMAZON.StopIntent': function () {
this.emit(':tell', this.t("STOP_MESSAGE"));
}
};`

如果有人可以帮助我提供某种类型的教程或其他东西,我很迷茫,提前谢谢你

最佳答案

看起来您正在将技能托管在自定义网络服务上。任何具有自定义服务作为后端的技能都需要验证它收到的请求是由 Alexa 服务发送的。

如果您使用的是 Alexa 团队提供的 SDK,这里是 good documentation关于如何验证这一点。

如果您想完全跳过这一点,最好使用 AWS Lambda 作为后端或在构建技能时选择 Alexa Hosted 作为选项。

关于node.js - Amazon 开发人员不断告诉我功能测试中有关未验证请求的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58453555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com