anjishnu / ask-alexa-pykit

A minimalist SDK for developing skills for the Amazon Echo's ASK - Alexa Skills Kit using Amazon Web Services's Python Lambda Functions. Currently supported profiles are for Linux servers and AWS Lambda. Check the appropriate release branch. The cherrypy release branches have added components for request validation.
MIT License
275 stars 58 forks source link

Revive server version or Unify with Lambda #10

Open anjishnu opened 8 years ago

anjishnu commented 8 years ago

After focusing on Lambda for a while to get the core library down - I think we are at the point that we can start looking at having a simple push-button server implementation as well.

The main issue with the server implementation is the SSL hell I had to go through when I wrote my first alexa skill: visible in gory detail here: https://github.com/anjishnu/ask-alexa-pykit/blob/cherrypy_0.3_release/lib/validation_utils.py

This also introduced a PyCrypto dependency (and literally shelling out to OpenSSL) to the library which was a big mess. We should be able to replicate this without relying on too many external libraries, and hopefully python's ssl module is up to the task.

I didn't want to spend too much time on it because it ended up in a dead end where it was impossible to publish anything because of the trusted SSL cert authority requirement - with this that might also be possible for free https://console.aws.amazon.com/acm/home?region=us-east-1#/firstrun/