tender-multipass, Python utilities for easily integrating Tender's MultiPass authentication

Entry posted on October 19, 2009.

At Urban Airship, we're evaluating Tender, which is a hosted support and knowledge base app. It's done by ENTP, who are also somewhat located in Portland, OR. We were really liking what we were seeing so decided to do a spike to test it out. One of the nifty features is shared authentication - they'll delegate all auth to your existing app so users don't have to create additional accounts (this really is quite essential for something like this). Their MultiPass system is relatively easy to implement if you're using Ruby, but Python doesn't have great OpenSSL bindings - the equivalent of EZCrypto doesn't exist yet, unfortunately. So, after finally getting it working, we decided to release our code so others don't have to go through this process.

So, introducing tender-multipass, available now on pypi. The source is up on bitbucket.

As always, I had a lot of help doing this - special thanks to my Urban Airship coworker Adam Lowry, Igal Koshevoy and Evan Fosmark for this blog post for the xor stuff.