Source

django-publicauth / openauth / settings.py

Full commit
import re

from django import forms

from annoying.functions import get_config


### REGISTRATION_ALLOWED ###########################################################################
# To disable registration, set it to False                                                         #
REGISTRATION_ALLOWED = get_config("REGISTRATION_ALLOWED", True)                                    #
####################################################################################################

### AUTHENTIFICATION_TYPES #########################################################################
# Please provide list or tuple with authentification types that you site want to support.          #
# The choices are:                                                                                 #
# 1. username - username will be as login name. Also user will be asked for password               #
# 2. email - email will be used as login name. Please not that you can't use username and email    #
#            both in authentication types.                                                         #
# 3. openid - OpenId type of authentication. Can be used along with username or email              #
#             authentication.                                                                      #
AUTHENTICATION_TYPES = get_config("AUTHENTICATION_TYPES", ["username", "openid"])                  #
####################################################################################################

### ACTIVATION_REQUIRED ############################################################################
# Activation is provided by seperate application, django-confirmation                              #
# http://bitbucket.org/offline/django-confirmation/                                                #
# Please read wiki page of this application to fully understand what it does.                      #
# If activation is not required, user will be signed in immidiatly after the registration process  #
ACTIVATION_REQUIRED = get_config("ACTIVATION_REQUIRED", False)                                     #
####################################################################################################

### REGISTRATION_FORM ##############################################################################
# If you want to define your own registration form, please provide a string representing the       #
# application name, module and a class. To cut developing time, subclass the original              #
# RegistrationForm class, add your fields and override the save() method.                          #
REGISTRATION_FORM = get_config("REGISTRATION_FORM", "openauth.forms.RegistrationForm")             #
####################################################################################################

### LOGIN_REGEX ####################################################################################
# The default login regex is to allow anything as login                                            #
LOGIN_REGEX = get_config("LOGIN_REGEX", re.compile(r"^.*$"))                                       #
####################################################################################################

### LOGIN_LENGTH ###################################################################################
# You can set default login length, Only usefull in case of username authentication type           #
LOGIN_MIN_LENGTH = get_config("LOGIN_MIN_LENGTH", 1)                                               #
LOGIN_MAX_LENGTH = get_config("LOGIN_MAX_LENGTH", 50)                                              #
####################################################################################################

### LOGIN_LABEL ####################################################################################
# Please provide an appropriate label for you login field. The default for username type           #
# of authentication is 'Login', for email authentication is 'Email'                                #
LOGIN_LABEL = get_config("LOGIN_LABEL", None)                                                      #
####################################################################################################

### DISPLAYNAME_REQUIRED ###########################################################################
# In any type of authentication you may decide that user need another name besides login, email    #
# or open url name. If it set to True, user will be required to provide this name at registration  #
# time                                                                                             #
DISPLAYNAME_REQUIRED = get_config("DISPLAYNAME_REQUIRED", False)                                   #
####################################################################################################

### UNIQUE_USERNAME ################################################################################
# In case of django username field used as display name and email or OpenID as login, you can      #
# set it to false to allow duplicate usernames                                                     #
UNIQUE_USERNAME = get_config("UNIQUE_USERNAME", True)                                              #
####################################################################################################

### PASSWORD_REGEX #################################################################################
# The default login regex is anything at all                                                       #
PASSWORD_REGEX = get_config("PASSWORD_REGEX", re.compile(r"^.*$"))                                 #
####################################################################################################

### PASSWORD_LENGTH ################################################################################
# You can set default password length                                                              #
PASSWORD_MIN_LENGTH = get_config("PASSWORD_MIN_LENGTH", 1)                                         #
PASSWORD_MAX_LENGTH = get_config("PASSWORD_MAX_LENGTH", 50)                                        #
####################################################################################################

### LOGIN_URL ######################################################################################
# When anonymous user try to access page that wrapped by login_required decorator, it will         #
# redirect him to this url.                                                                        #
LOGIN_URL = get_config("LOGIN_URL", "/auth/login/")                                                #
####################################################################################################

### LOGIN_REDIRECT_URL #############################################################################
# URL that user is redirected after successfull login attempt                                      #
LOGIN_REDIRECT_URL = get_config("LOGIN_REDIRECT_URL", "/auth/user/")                               #
####################################################################################################

### AUTO_LOGIN #####################################################################################
# This allow login automaticaly after registration if actiovation doesn't required                 #
AUTO_LOGIN = get_config("AUTO_LOGIN", True)                                                        #
####################################################################################################

### ACTIVATION_AUTO_LOGIN ##########################################################################
# This allow login automaticaly after clicking the  activation link in email in case your site     #
# require activation                                                                               #
ACTIVATION_AUTO_LOGIN = get_config("ACTIVATION_AUTO_LOGIN", False)                                 #
####################################################################################################

### CONFIRMATION TYPES #############################################################################
# django-confirmation use confirmation types to distinct confirmations. Please don't change this   #
# settings                                                                                         #
ACTIVATION_TYPE = get_config("ACTIVATION_TYPE", 1)                                                 #
PASSWORD_RESET_TYPE = get_config("PASSWORD_RESET_TYPE", 2)                                         #
####################################################################################################

### EDIT_USER_FORM #################################################################################
# Read the REGISTRATION_FORM description above. One thing to note here is that you shoud not add   #
# fields in normal way, please look at the original form, you should add form fields from the      #
# __init__ method, that recive user as one of parameters. This is to allow initial data in fields  #
EDIT_USER_FORM = get_config("EDIT_USER_FORM", "openauth.forms.EditUserForm")                       #
####################################################################################################



### OpenID Settings ###

### OPENID_REGISTRATION_FORM #######################################################################
# See REGISTRATION_FORM description above                                                          #
SOCIALID_EXTRA_FORM = get_config("SOCIALID_EXTRA_FORM", "openauth.forms.SocialIDExtraForm")        #
####################################################################################################

OPENID_ACTIVATION_REQUIRED = get_config("OPENID_ACTIVATION_REQUIRED", False)                       #

### SOCIAL_ACTIVATION_REQUIRED #####################################################################
# If activation is not required, user will be signed in immidiatly after OpenID registration       #
# process. By default this activation is depend on regular activation setting                      #
SOCIALID_ACTIVATION_REQUIRED = get_config("OPENID_ACTIVATION_REQUIRED", ACTIVATION_REQUIRED)       #
####################################################################################################

### OPENID_EXTRA_FIELDS  ###########################################################################
# Simple registration fields allows to reterive addition information about user from OpenID        #
# server. Please list every field that you might ask user when registering with OpenID. The name   #
# are available on http://www.axschema.org/types/#sreg                                             #
OPENID_EXTRA_FIELDS = get_config("OPENID_EXTRA_FIELDS", ['nickname'])                              #
####################################################################################################

### OPENID_PROFILE_MAPPING #########################################################################
# Please provide a mapping from OPENID_EXTRA_FIELDS to your profile fields.                        #
OPENID_PROFILE_MAPPING = get_config("OPENID_PROFILE_MAPPING", {'nickname': 'login'})               #
####################################################################################################

SOCIALID_EXTRA_FIELDS_MAPPING = get_config("SOCIALID_EXTRA_FIELDS_MAPPING", {'nickname': 'login', 'emai': 'email'}) #

### AX_URIS ########################################################################################
# This dict contains mapping of SREG fields to AX uris, you probably don't need to change it       #
# http://www.axschema.org/types/                                                                   #
AX_URIS = {                                                                                        #
    'nickname': 'http://axschema.org/namePerson/friendly',                                         #
    'email': 'http://axschema.org/contact/email',                                                  #
    'fullname': 'http://axschema.org/namePerson',                                                  #
    'dob': 'http://axschema.org/birthDate',                                                        #
    'gender': 'http://axschema.org/person/gender',                                                 #
    'postcode': 'http://axschema.org/contact/postalCode/home',                                     #
    'country': 'http://axschema.org/contact/country/home',                                         #
    'language': 'http://axschema.org/pref/language',                                               #
    'timezone': 'http://axschema.org/pref/timezone',                                               #
}                                                                                                  #
####################################################################################################


### BACKEND_MAPPING ################################################################################
BACKEND_MAPPING = get_config("BACKEND_MAPPING", {                                                  #
    'openid': 'openauth.backends.openid.OpenIDBackend',                                            #
    'google': 'openauth.backends.google.GoogleBackend',                                            #
    'twitter': 'openauth.backends.twitter.TwitterBackend',                                         #
    'facebook': 'openauth.backends.facebook.FacebookBackend',                                      #
    'email': 'openauth.backends.email.EmailBackend',
    #'oauth': 'openauth.backends.oauth.OAuthBackend',                                               #
    }                                                                                              #
)                                                                                                  #
####################################################################################################

### DEFAULT_LOGIN_TEMPLATE #########################################################################
DEFAULT_LOGIN_TEMPLATE = get_config("DEFAULT_LOGIN_TEMPLATE", "openauth/login.html")               #
                                                                                                   #
####################################################################################################

### DEFAULT_LOGIN_TEMPLATE #########################################################################
DEFAULT_LOGIN_FORM = get_config("DEFAULT_LOGIN_FORM", "openauth.backends.openid.OpenIDBackend")    #
                                                                                                   #
####################################################################################################

GOOGLE_OPENID_URL = "https://www.google.com/accounts/o8/id"


REGISTRATION_DISABLED_REDIRECT = get_config("REGISTRATION_DISABLED_REDIRECT", "/")

FACEBOOK_EXTRA_FIELDS = ['name']
FACEBOOK_PROFILE_MAPPING = get_config("FACEBOOK_PROFILE_MAPPING", {'name': 'login'})        

GOOGLE_EXTRA_FIELDS = ['nickname', 'email', 'fullname', 'dob', 'gender']
GOOGLE_PROFILE_MAPPING = get_config("GOOGLE_PROFILE_MAPPING", {'nickname': 'login', 'email': 'email'})        

TWITTER_EXTRA_FIELDS = ['screen_name']
TWITTER_PROFILE_MAPPING = get_config("TWITTER_PROFILE_MAPPING", {'screen_name': 'login', 'email': 'email'})