Skip to main content

A generic system for interacting with remote APIs that need to create Django users.

Project description

Introduction
============

The Django-Social-User library provides an abstract Django-based system for working with remote social network identities. A social identity stores all information gathered about a person from a social network account, and attempts to mirror the information that is necessary for a Django user.

All functions and classes are documented inline. If you have additional questions, I can be reached on github or at admin@mattsnider.com.

Getting started
===============

Standard stuff applies to install. Use PIP to install with dependencies:

pip install django-social-user

Or install from the command line:

python setup.py install

Dependencies
============

This library is dependent on Django 1.3 or greater. You will need to configure any remote services that you wish to use as this library is expected to be extended. I have a second project django-simple-social (https://www.github.com/mattsnider/django-simple-social) that uses this package to interface with common social networks.

If you have south installed, then database table creation and future updates will be managed automatically. If you don't, you may run into DB compatibility issues that you must manually resolve.

Usage Guide
===========

This section describes how to configure the Django Social User app.

URL Setup
---------

Your project should define the following URLs in your settings files:

DJANGO_SOCIAL_USER_OPTIONS = {
'REDIRECT_ON_ACCESS_TOKEN_FAILURE': '/yourAccessTokenFailureUrl',
'REDIRECT_ON_AUTHENTICATION': '/yourAuthenticationUrl',
'REDIRECT_ON_REQUEST_TOKEN_FAILURE': '/yourRequestTokenFailureUrl',
}

REDIRECT_ON_ACCESS_TOKEN_FAILURE is where to redirect the user if a network fails to authenticate when the social network executes the callback URL.

REDIRECT_ON_AUTHENTICATION is where to redirect the user when they successfully authenticate with the social network. If this constant is not defined user will never successfully authenticate.

REDIRECT_ON_REQUEST_TOKEN_FAILURE is where to redirect the user if a network fails to provide the request URL as part of the oauth handshake (user will not have been redirected to the social network site yet, and usually means the site authentication is down or request timed out).

Add the following URL definitions to the project ``urls.py``:

url(r'^social/', include('django_social_user.urls', namespace='django_social_user')),

DB Setup
--------

If you are using South, then run:

python manage.py migrate django_social_user

Otherwise run:

python manage.py sqlall django_social_user > temp.sql
python manage.py dbshell < temp.sql
rm temp.sql

I recommend using South, as I may need to make model changes and South migrations will make your life easier.

Create a Backend for a Social Network
-------------------------------------

I have another project called Django Simple Social that builds upon Django Social User to support some of the more popular social networks. If you plan on implementing your own social network backend, see https://github.com/mattsnider/django-simple-social for examples on how to do this.


Todo
====

1. better error handling
2. TESTING

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-social-user-0.1.9.tar.gz (9.6 kB view details)

Uploaded Source

Built Distributions

django_social_user-0.1.9-py27-none-any.whl (13.3 kB view details)

Uploaded Python 2.7

django-social-user-0.1.9.macosx-10.8-intel.exe (76.4 kB view details)

Uploaded Source

File details

Details for the file django-social-user-0.1.9.tar.gz.

File metadata

File hashes

Hashes for django-social-user-0.1.9.tar.gz
Algorithm Hash digest
SHA256 9017602b765958fb145f1ed10de5dd2a0d602a1dc5ca5962c6b1e266343a221e
MD5 09992d9d9a90142d64f976aeb6b31ab2
BLAKE2b-256 5698cfa775c24514df7552de18ae8e792f2dff8185476b217d30131bd624fa2a

See more details on using hashes here.

File details

Details for the file django_social_user-0.1.9-py27-none-any.whl.

File metadata

File hashes

Hashes for django_social_user-0.1.9-py27-none-any.whl
Algorithm Hash digest
SHA256 04fa1e5d2de68790cb2d1577c3d2cad99c57117b42c18acc3c3355b5f441d5dd
MD5 d620248dca284815453d0f91a2410189
BLAKE2b-256 209c66f3a57f9eb530d4e675d847f569669021fddafcbf0e00be499a6bc461dd

See more details on using hashes here.

File details

Details for the file django-social-user-0.1.9.macosx-10.8-intel.exe.

File metadata

File hashes

Hashes for django-social-user-0.1.9.macosx-10.8-intel.exe
Algorithm Hash digest
SHA256 e5526ef8a29b1006b24992f90f5e7cb36711e1b520c6a598e18df76ed9747643
MD5 fedb41d32d4e1c4fc3abf805078e48db
BLAKE2b-256 daac200d54ed92bafe2f770cf3bf2b9a846fc531e19e10dc2e1f815467f3ec41

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page