Popular recipes by Jesse Davis http://code.activestate.com/recipes/users/4175348/2011-10-05T15:29:44-07:00ActiveState Code RecipesSecurely processing Twilio requests from Tornado (Python)
2011-10-05T15:29:44-07:00Jesse Davishttp://code.activestate.com/recipes/users/4175348/http://code.activestate.com/recipes/577893-securely-processing-twilio-requests-from-tornado/
<p style="color: grey">
Python
recipe 577893
by <a href="/recipes/users/4175348/">Jesse Davis</a>
(<a href="/recipes/tags/authentication/">authentication</a>, <a href="/recipes/tags/http/">http</a>, <a href="/recipes/tags/https/">https</a>, <a href="/recipes/tags/nginx/">nginx</a>, <a href="/recipes/tags/telephony/">telephony</a>, <a href="/recipes/tags/tornado/">tornado</a>, <a href="/recipes/tags/twilio/">twilio</a>).
</p>
<p>Twilio is a telephony service that POSTs to a callback URL on your server and asks you what to do when it receives phone calls or SMSes to the numbers you rent from Twilio. But securing your communications with Twilio can be complex if you're using Tornado behind Nginx. This shows you how to protect your Twilio callback URL with HTTP Authentication, request-signing, and (optionally) SSL.</p>
<p>I'm using HTTP Authentication code from Kevin Kelley, and I wrote the rest myself.</p>