-
Notifications
You must be signed in to change notification settings - Fork 116
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
alexa-verifier set the "verify" flag to true and calling from a non echo throws an error #50
Comments
Whcih version are you using? I believe this has been fixed, try the released 2.3.1 and if that doesn't work HEAD. |
yea I'm on 2.3.1 Is there an easy way to use head within my node app? Or do I need to checkout the git repo and move the content into the npm_modules dir? |
You should be able to do this in package.json:
See https://docs.npmjs.com/files/package.json#github-urls for details. Can you please verify that this is actually fixed? We can close the issue then. We'll release the next version shortly (see #47), after #48 is resolved. |
Changed my dependencies per your suggestion in the package.json file and restarted my app. Getting the same error. |
What's in |
you are right... I forgot to run an npm install before restarting. okay, after doing that it doesn't throw the er error I was seeing before. However, it also isn't throwing a 500 error when I try from postman and not an echo device. I get a valid response:
I thought with verify set to true that it would've thrown an error, correct? |
I am not sure what this error is or what to do with it ... |
It's not an error. That's the point. If a request comes in from a non-echo, my assumption is the alexa-verifier code should mark it as an error. and there is no error. |
Possibly, I don't know much about this. I would read the code and docs wrt what it's supposed to do, maybe open an issue in alexa-verifier? |
So, just to make sure I'm following you, are you saying that the flag "verify" in the alexa-app-server documentation:
hasn't been tested? And I should use the alexa-verifier module directly? |
I'm saying that I don't know much about it, I didn't write this code or actually used it myself ;) Others like @tejashah88 or @mreinstein will know a lot more! |
I've never used https://github.com/alexa-js/alexa-app-server/blob/master/index.js#L85 this is not forcing the requests to pass the header check. It should instead probably be: self.express.use(endpoint, alexaVerifierMiddleware({ strictHeaderCheck: true )); ^ this is assuming only Alexa requests will flow through this express instance. |
@tejashah88 I need your input on something. The PR I just sent enforces strict header checking and all of the verification logic that amazon requires when submitting a skill to run on production. I've noticed these tests: https://github.com/alexa-js/alexa-app-server/blob/master/test/test-examples-server-verification.js 2 of them expect a 200 code back. I think these should actually be 401 errors. I'd appreciate your thoughts since it seems you actually wrote the tests. |
@mreinstein You're right! They should be expecting 401 errors. I guess the only thing that seems to nag me is that we don't have a way to actually test if a 200 code is being sent back when using an actual Alexa device, since we are basically assuming that it should work anyways. Unless Amazon gave a way to test this with a virtual Amazon device or something, I guess one would have to have some sort of test skill that would verify that the verification is working as expected. |
Closed via #51, thanks @mreinstein. |
I used the example code here:
and added the verify flag so that I can pass the skills certification. When I try to make a request through postman it does fail (which is good) but It's not throwing a 500, instead it throws the following error:
The text was updated successfully, but these errors were encountered: