I got a self hosted skill in Cloud Foundry, that uses Node js, Typescript and Express.
The code looks like this:
const app: express.Application = express() // Skill entry point const skill = application.getSkillBuilder.createSkillForWebService() const adapter = new ExpressAdapter(skill, config.global.verifySignature, config.global.verifyTimestamp) const PORT = app.listen(process.env.PORT || config.global.port) app.post("/", adapter.getRequestHandlers()) const listener = app.listen(PORT, function () { const { address, port } = listener.address() as AddressInfo logger.debug("%s listening to %s%s", app.name, address, port) })
So when I deploy into a lower environment and a new instance of the Express adapter is created, I pass false for verify signature and verify timestamp.
And it works when I test it on an Alexa device and on the Alexa developers console.
And when I deploy it into production and a new instance of the Express adapter is created, I pass true for the verify signature and verify timestamp.
And I get this error: AskSdk.Request verification failed Error, Missing Certificate for the skill request
Am I missing something in my code??
Do I need to upload the certificate in the Developers console??
Thanks in advance for your help