Authomatic is an authorization/authentication client library for Python web applications inspired by Alex Vagin’s Simpleauth. In fact, I almost named it Deadsimpleauth, but that name would be too long for a succinct library.
For more info visit the project page at http://peterhudec.github.io/authomatic.
Loosely coupled.
Tiny but powerful interface.
The python-openid library is the only optional dependency.
CSRF protection.
Framework agnostic thanks to adapters. Out of the box support for Django, Flask and Webapp2.
Ready to accommodate future authorization / authentication protocols.
Makes calls to provider APIs a breeze.
Supports asynchronous requests.
JavaScript library as a bonus.
Out of the box support for:
- OAuth 1.0a providers: Bitbucket, Flickr, Meetup, Plurk,
Twitter, Tumblr, UbuntuOne, Vimeo, Xero, Xing and Yahoo.
- OAuth 2.0 providers: Behance, Bitly, Cosm, DeviantART,
Eventbrite, Facebook, Foursquare, GitHub, Google, LinkedIn, PayPal, Reddit, Viadeo, VK, WindowsLive, Yammer and Yandex.
- python-openid and Google App Engine based OpenID.
The package is licensed under MIT license and requires Python 2.6 and higher, but doesn't support Python 3 yet.
There is a Google App Engine based live demo app running at http://authomatic-example.appspot.com which makes use of most of the features.
Contributions of any kind are very welcome. If you want to contribute, please read the Development Guide first. The project is hosted on GitHub.
If you find this library useful and are using it in your projects, please don't be shy and leave a comment about your use case on the Authomatic use cases issue.
Read the exhaustive documentation at http://peterhudec.github.io/authomatic.