<a id="introduction"></a>

# Introduction

Python Social Auth aims to be an easy to setup social authentication and
authorization mechanism for Python projects supporting protocols like [OAuth](http://oauth.net/) (1
and 2), [OpenID](http://openid.net/) and others.

<a id="features"></a>

## Features

This application provides user registration and login using social sites
credentials, here are some features, probably not a full list yet.

<a id="supported-frameworks"></a>

### Supported frameworks

Multiple frameworks support:

* [Django](https://github.com/python-social-auth/social-app-django)
* [Flask](https://github.com/python-social-auth/social-app-flask)
* [Pyramid](http://www.pylonsproject.org/projects/pyramid/about)
* [Webpy](https://github.com/python-social-auth/social-app-webpy)
* [Tornado](http://www.tornadoweb.org/)

More frameworks can be added easily (and should be even easier in the future
once the code matures).

<a id="auth-providers"></a>

### Auth providers

Several supported service by simple backends definition (easy to add new ones
or extend current one):

* [Angel](https://angel.co) OAuth2
* [Behance](https://www.behance.net) OAuth2
* [Bitbucket](https://bitbucket.org) OAuth1
* [Box](https://www.box.com) OAuth2
* [Dailymotion](https://dailymotion.com) OAuth2
* [Deezer](https://www.deezer.com) OAuth2
* [Disqus](https://disqus.com) OAuth2
* [Douban](http://www.douban.com) OAuth2
* [Dropbox](https://dropbox.com) OAuth2
* [Eventbrite](https://www.eventbrite.com) OAuth2
* [Evernote](https://www.evernote.com) OAuth1
* [Facebook](https://www.facebook.com) OAuth2 and OAuth2 for Applications
* [Fitbit](https://fitbit.com) OAuth2 and OAuth1
* [Flat](https://flat.io) OAuth2
* [Flickr](http://www.flickr.com) OAuth1
* [Foursquare](https://foursquare.com) OAuth2
* [GitHub](https://github.com) OAuth2
* [Google](http://google.com) OAuth1 and OAuth2
* [Instagram](https://instagram.com) OAuth2
* [Kakao](https://kakao.com) OAuth2
* [Keycloak](https://www.keycloak.org) OpenID
* [Linkedin](https://www.linkedin.com) OAuth1
* [Live](https://www.live.com) OAuth2
* [Livejournal](http://livejournal.com) OpenID
* [Mailru](https://mail.ru) OAuth2
* [MineID](https://www.mineid.org) OAuth2
* [Mixcloud](https://www.mixcloud.com) OAuth2
* [NGPVAN ActionID](http://developers.ngpvan.com/action-id) OpenID
* [Odnoklassniki](http://www.odnoklassniki.ru) OAuth2 and Application Auth
* [OpenID](http://openid.net/)
* [Podio](https://podio.com) OAuth2
* [Pinterest](https://www.pinterest.com) OAuth2
* [Shopify](http://shopify.com) OAuth2
* [Skyrock](https://skyrock.com) OAuth1
* [Soundcloud](https://soundcloud.com) OAuth2
* [Spotify](https://www.spotify.com) OAuth2
* [Stackoverflow](http://stackoverflow.com/) OAuth2
* [Steam](http://steamcommunity.com/) OpenID
* [Stocktwits](https://stocktwits.com) OAuth2
* [Stripe](https://stripe.com) OAuth2
* [Tripit](https://www.tripit.com) OAuth1
* [Tumblr](http://www.tumblr.com/) OAuth1
* [Twilio](https://www.twilio.com) Connect association
* [Twitch](http://www.twitch.tv/) OAuth2
* [Twitter](http://twitter.com) OAuth1
* [Upwork](https://www.upwork.com) OAuth1
* [Vimeo](https://vimeo.com/) OAuth1
* [VK.com](http://vk.com) OpenAPI, OAuth2 and OAuth2 for Applications
* [Weibo](http://weibo.com) OAuth2
* [Xing](https://www.xing.com) OAuth1
* [Yahoo](http://yahoo.com) OAuth2
* [Yammer](https://www.yammer.com) OAuth2
* [Yandex](https://yandex.ru) OAuth1, OAuth2 and OpenID

<a id="user-data"></a>

### User data

Basic user data population, to allow custom fields values from providers
response.

<a id="social-accounts-association"></a>

### Social accounts association

Multiple social accounts can be associated to a single user.

<a id="authentication-and-disconnection-processing"></a>

### Authentication and disconnection processing

Extensible pipeline to handle authentication, association and disconnection
mechanism in ways that suits your project. Check [Authentication Pipeline](pipeline.html)
section.
