Django Socialauth

Allows logging in via Facebook, Yahoo, Gmail, Twitter and Openid
Alternatives To Django Socialauth
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Django Socialauth578
10 years agootherPython
Allows logging in via Facebook, Yahoo, Gmail, Twitter and Openid
Auth5262033 months ago65May 07, 202233mitPHP
:atom: Social (OAuth1\OAuth2\OpenID\OpenIDConnect) sign with PHP :shipit:
Buji Pac4j48331813 days ago26August 26, 2022apache-2.0Java
Bridge from the pac4j security library to Shiro
Yii2 Authclient4501,3642027 months ago32September 04, 202221bsd-3-clausePHP
Yii 2 authclient extension.
Play Pac4j39322 days ago22January 14, 20221apache-2.0Java
Security library for Play framework 2 in Java and Scala: OAuth, CAS, SAML, OpenID Connect, LDAP, JWT...
Spring Security Pac4j26637713 days ago32November 30, 2022apache-2.0Java
Bridge from the pac4j security library to Spring Security (reactive)
Assent23323a month ago30March 01, 20226mitElixir
Multi-provider framework in Elixir
Loginpass205
2 years ago20bsd-3-clausePython
Login with Google, GitHub, Twitter, Facebook and many other networks.
Spark Pac4j15527116 days ago18September 09, 20222Java
Security library for Sparkjava: OAuth, CAS, SAML, OpenID Connect, LDAP, JWT...
Authlogic Connect1487112 years ago15July 14, 201032mitRuby
Instant Oauth and OpenID support for your Rails and Sinatra Apps
Alternatives To Django Socialauth
Select To Compare


Alternative Project Comparisons
Readme

WARNING: This app is not maintained anymore

This repo is here for archive purposes, but unmaintained. There are much better social auth libraries.

What it does.

  1. Allow logging in via various providers.
  2. Import contacts from various third party sites, to find out which of your friends already use our service.

Logging In

This is a application to enable authentication via various third party sites. In particular it allows logging in via

  1. Twitter
  2. Gmail
  3. Facebook
  4. Yahoo(Essentially openid)
  5. OpenId
  6. Github
  7. Foursquare

Libs you need to install See requirements.txt use pip install -r requirements.txt to install all dependencies at once Note that you will probably require git and mercurial installed for pip to fetch the requirements.

The API Keys are available from

How it works.

  • Openid: Users need to provide their openid providers. Talk to the providers and login.
  • Yahoo: Yahoo is an openid provider. Talk to Yahoo endpoints. (Endpoint: http://yahoo.com)
  • Google: Google is a provider. Talk to them. (Endpoint: https://www.google.com/accounts/o8/id)
  • Facebook: Facebook connect provides authentication framework.
  • Twitter: We use Twitter Oauth for authentication. In theory, Oauth shouldn't be used for authentication. (It is an autorisation framework, not an authentication one), In practice it works pretty well. Once you have an access_token, and a name, essentially authenticated.
  • Github:We use Github Oauth for authentication. As like Twitter, it works pretty well.
  • Foursquare:We use Oauth2.0 for authenticating via foursquare.

References

  1. http://openid.net/developers/
  2. http://developer.yahoo.com/openid/
  3. http://code.google.com/apis/accounts/docs/OpenID.html
  4. http://apiwiki.twitter.com/OAuth-FAQ
  5. http://developers.facebook.com/connect.php
  6. http://develop.github.com/p/oauth.html
  7. https://developer.foursquare.com/overview/auth.html

Limitations

As with all APIs, we are limited by the amount of data which the API provider provides us. For example, both Yahoo and Google provide extremely limited data about the autheticated subscriber. Twitter and Facebook provide a lot of details, but not the email. Different Openid providers are free to provide [different amounts of data](http://openid.net/specs/openid-simple-registration-extension-1_0.html).

How it works.

  1. For all providers(except Facebook) there are two urls and views. (start and done)
  2. Start sets up the required tokens, and redirects and hands off to the correct provider.
  3. Provider handles authentication on their ends, and hands off to Us, providing authorization tokens.
  4. In done, we check if the user with these details already exists, if yes, we log them in. Otherwise we create a new user, and log them in.

For all of these, we use standard django authenication system, with custom auth_backends, hence all existing views, and decorators as login_required will work as expected.

Urls

  • /login/ Login page. Has all the login options
  • /openid_login/ AND /openid_login/done/
  • /yahoo_login/ AND /yahoo_login/done/
  • /gmail_login/ AND /gmail_login/done/
  • /twitter_login/ AND /twitter_login/done/
  • /facebook_login/done/ We dont have a start url here, as the starting tokens are set in a popup.
  • /github_login/ AND /github_login/done/
  • /foursquare_login/ AND /foursquare_login/done/

Implementation

  1. Install required libraries.
  2. Get tokens and populate in localsettings.py
  3. Set the token callback urls correctly at Twitter, Facebook, Github and Foursquare.
  4. Set the authentication_backends to the providers you are using.
Popular Openid Projects
Popular Twitter Projects
Popular Security Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Python
Authentication
Twitter
Logging
Login
Gmail
Openid