<commit_before>==================
Django Social Auth
==================

Django Social Auth is an easy to setup social authentication/registration
mechanism for Django projects.

Crafted using base code from django-twitter-oauth_ and django-openid-auth_,
implements a common interface to define new authentication providers from
third parties.


------------
Dependencies
------------
   * OpenId support depends on python-openid_
   * Twitter and Facebook support demands an application registration
     on their corresponding sites.


------------
Installation
------------

- Add social_auth app to PYTHONPATH and installed apps::

    INSTALLED_APPS = (
        ...
        'social_auth'
    )

- Add desired authentication backends to AUTHENTICATION_BACKENDS setting::

    AUTHENTICATION_BACKENDS = (
        'social_auth.backends.TwitterOAuthBackend',
        'social_auth.backends.FacebookOAuthBackend',
        'social_auth.backends.OpenIDBackend',
        'django.contrib.auth.backends.ModelBackend',
    )

- Setup Twitter and Facebook keys (see below)::

    TWITTER_CONSUMER_KEY    = ''
    TWITTER_CONSUMER_SECRET = ''
    FACEBOOK_APP_ID         = ''
    FACEBOOK_API_SECRET     = ''

- Setup login urls::

    LOGIN_URL          = '/login-form/'
    LOGIN_REDIRECT_URL = '/logged-in/'

  Check Django documentation at `Login url`_ and `Login redirect url`_


- Sync database to create needed models::

    ./manage syncdb


------
OpenId
------
OpenId support is simpler to implement than OAuth, by Google and Yahoo 
providers are supported by default, others are supported by POST method
providing endpoint Url.


-----
OAuth
-----
OAuth communication demands a set of keys exchange to validate the client
authenticity prior to user approbation, Twitter and Facebook facilitates these
keys by application registration.<commit_msg>Link sections in README<commit_after>==================
Django Social Auth
==================

Django Social Auth is an easy to setup social authentication/registration
mechanism for Django projects.

Crafted using base code from django-twitter-oauth_ and django-openid-auth_,
implements a common interface to define new authentication providers from
third parties.


------------
Dependencies
------------
   * OpenId support depends on python-openid_
   * Twitter and Facebook support demands an application registration
     on their corresponding sites.


------------
Installation
------------

- Add social_auth app to PYTHONPATH and installed apps::

    INSTALLED_APPS = (
        ...
        'social_auth'
    )

- Add desired authentication backends to AUTHENTICATION_BACKENDS setting::

    AUTHENTICATION_BACKENDS = (
        'social_auth.backends.TwitterOAuthBackend',
        'social_auth.backends.FacebookOAuthBackend',
        'social_auth.backends.OpenIDBackend',
        'django.contrib.auth.backends.ModelBackend',
    )

- Setup Twitter and Facebook keys (see `OAuth` section for details)::

    TWITTER_CONSUMER_KEY    = ''
    TWITTER_CONSUMER_SECRET = ''
    FACEBOOK_APP_ID         = ''
    FACEBOOK_API_SECRET     = ''

- Setup login urls::

    LOGIN_URL          = '/login-form/'
    LOGIN_REDIRECT_URL = '/logged-in/'

  Check Django documentation at `Login url`_ and `Login redirect url`_


- Sync database to create needed models::

    ./manage syncdb


------
OpenId
------
OpenId support is simpler to implement than OAuth, by Google and Yahoo 
providers are supported by default, others are supported by POST method
providing endpoint Url.


-----
OAuth
-----
OAuth communication demands a set of keys exchange to validate the client
authenticity prior to user approbation, Twitter and Facebook facilitates these
keys by application registration, see `Twitter`_ and `Facebook`_ sections for
details.
{'fraction_non_alphanumeric': 0.1108172441153134, 'fraction_numerical': 0.0, 'mean_word_length': 3.0492505353319057, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 9, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6379296', 'n_tokens_mistral': 1063, 'n_tokens_neox': 1006, 'n_words': 350}