Projet

Général

Profil

Télécharger (6,33 ko) Statistiques
| Branche: | Tag: | Révision:

root / uauth / settings.py @ f4843b93

1
import os
2
import json
3

    
4
from django.conf import global_settings
5

    
6
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
7

    
8

    
9
# Quick-start development settings - unsuitable for production
10
# See https://docs.djangoproject.com/en/1.7/howto/deployment/checklist/
11

    
12
# SECURITY WARNING: keep the secret key used in production secret!
13
SECRET_KEY = 'jg@eap06#(68*jqv)j=q5we33*-5mqiku_r231++$2cdl43_bl'
14

    
15
# SECURITY WARNING: don't run with debug turned on in production!
16
DEBUG = True
17

    
18
TEMPLATE_DEBUG = True
19

    
20
ALLOWED_HOSTS = []
21

    
22

    
23
# Application definition
24

    
25
INSTALLED_APPS = (
26
    'django.contrib.admin',
27
    'django.contrib.auth',
28
    'django.contrib.contenttypes',
29
    'django.contrib.sessions',
30
    'django.contrib.messages',
31
    'django.contrib.staticfiles',
32
    'mellon',
33
    'gadjo',
34
    'uauth',
35
    'uauth.organization',
36
    'django_tables2',
37
)
38

    
39
METADATA_URIS = (
40
    'https://federation.renater.fr/test/renater-test-metadata.xml',
41
    # 'https://federation.renater.fr/renater/idps-renater-metadata.xml',
42
    # 'https://federation.renater.fr/edugain/idps-edugain-metadata.xml',
43
)
44

    
45
METADATAS_DIR = os.path.join(BASE_DIR, 'metadatas')
46

    
47
MIDDLEWARE_CLASSES = (
48
    'django.contrib.sessions.middleware.SessionMiddleware',
49
    'django.middleware.common.CommonMiddleware',
50
    'django.middleware.csrf.CsrfViewMiddleware',
51
    'django.contrib.auth.middleware.AuthenticationMiddleware',
52
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
53
    'django.contrib.messages.middleware.MessageMiddleware',
54
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
55
)
56

    
57
TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + \
58
                              ('django.core.context_processors.request',
59
                               'uauth.context_processors.theme_base',)
60

    
61
ROOT_URLCONF = 'uauth.urls'
62

    
63
WSGI_APPLICATION = 'uauth.wsgi.application'
64

    
65
DATABASES = {
66
    'default': {
67
        'ENGINE': 'django.db.backends.sqlite3',
68
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
69
    }
70
}
71

    
72
# Internationalization
73
# https://docs.djangoproject.com/en/1.7/topics/i18n/
74

    
75
LANGUAGE_CODE = 'en-us'
76

    
77
TIME_ZONE = 'UTC'
78

    
79
USE_I18N = True
80

    
81
USE_L10N = True
82

    
83
USE_TZ = True
84

    
85

    
86
# Static files (CSS, JavaScript, Images)
87
# https://docs.djangoproject.com/en/1.7/howto/static-files/
88

    
89
STATIC_URL = '/static/'
90

    
91
STATICFILES_FINDERS = global_settings.STATICFILES_FINDERS + \
92
            ('gadjo.finders.XStaticFinder',)
93

    
94
LDAP_CONF = {
95
    'url': 'ldap://localhost',
96
    'bind_dn': 'cn=admin,dc=entrouvert,dc=org',
97
    'options': {},
98
    'bind_passwd': 'entrouvert42',
99
    'dn': 'ou=radius,dc=entrouvert,dc=org',
100
}
101

    
102
ORGANIZATIONS_DIR = os.path.join(BASE_DIR, 'organizations')
103

    
104
AUTHENTICATION_BACKENDS = global_settings.AUTHENTICATION_BACKENDS + (
105
    'mellon.backends.SAMLBackend',
106
    'uauth.backends.LocalAccountPasswordBackend',
107
)
108

    
109
MELLON_ATTRIBUTE_MAPPING = {
110
    'email': '{attributes[mail][0]',
111
    'first_name': '{attributes[gn][0]}',
112
    'last_name': '{attributes[sn][0]}',
113
}
114

    
115
# mellon authentication params
116
MELLON_ADAPTER = ('uauth.adapters.UAuthAdapter', )
117

    
118
MELLON_IDENTITY_PROVIDERS = []
119

    
120
MELLON_PRIVATE_KEY = """-----BEGIN PRIVATE KEY-----
121
MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQDH8DE3TT4xUbe4
122
/lTUNYM6cONGmESMGdLQGMPI3zO8ObslD7Nc2QtvBVz3hldZM/NZ9SAtvhoGwT3u
123
bXFWWUFkxC1F0qaz3Lc3XY5u2r4f2+aWGjdUE504fNmyZpAsPBSZcAEnMhweCGi0
124
d+RveaG8VRlHQDHzBcp/8fj4Nhfferv46i7GHUmoEJSZCbjMbCCgg1AOFqBRWQ8P
125
sQlwY9nGQq0RaQOpDvoBjZOkGBzcg1XqfgvZB3AwWMXaBoupxoCBEwbLllWB6Wb2
126
FT4mng0aOFPaKJabynCvdRpD5Fc9QR9Fhmzm+O+1eJbTj8RC8wJ/g8jdRRMLJATN
127
zAJzPnS5AgMBAAECggEBAJWXZptj1aZ856Mn1zw3FYpCMCn/fzn7kDlWbhX6ufCY
128
mSbvillroxxbvOUNxIjfT7H8ryjKVRq8tqOPiv76JO1Jwj29kDB+cS6hdxIF475e
129
fzXLQ55KVpWPBCpwhmoyQY9Tt+klmtf1nrF4CphFPvd0DEe9BiI4MPxthMPhZRc0
130
oKgOY5zcSvgbX042sLT2urlnOC2BU9ylUOt2GVIWhmj5mI6L+WGEmRPz4xtZyE32
131
hesvLPheFnWpm04xASlJ7Xq8DE2NzSkGsEEekzSgq+k0ntMMxgzYbA55EvioduIG
132
NrSAMSzThWBLEmXLu7fnPIq6A60DXcX9gmiG9leoVWkCgYEA4n89AAn3UMn0t1Pd
133
qwDJIhGwPFLak09YSLlokdZWoL6Bg25z4suewc+IC/BfEGWP9c2CeIdLcDQpYtLh
134
NmDyMUcv/+VLcwfUisvJpMVXOHZT9nB3A7L+qZpf6y1BzHYVNuFOgkJB1rX6d7w/
135
kfgEgWRAO4yZeZM6qqH9MKJ7FMMCgYEA4ftTeAozZq5mFlYhJd2OwonCtOVRPYqI
136
ckxDnj7iu5X955eCt/r9E01HqZmSdTT/EiAcCbseBcrA6y3B+8FqTQ0AEghU/72h
137
PhFjL3E7d5rgyIFIm5lPoZTXh0Uv55o8KWiOuGx+SHpA+JZ+LzQvQE4na30tkEsh
138
dB5fZtjcyNMCgYEAw5qK/budoGGpO6Hr78Bv80I/ZvlO1qVRYwzsJ/ZpPc0IYI9E
139
+XpMEqi9n0Hpd2mel/LxWFHPbok9rKDd6m5y+ue1plNJg4Ahp/Qyol/i4VofTNb3
140
kXRFxgcSCzI8fu0DiS+u84NxBJKISluCsvb0PSJs7oCQEpR5t97Jn/TSQq0CgYEA
141
0PYum8yK9UME4VipdDMohFkQs2dtNQP54f8Fc7ngvOcYjuN6G5g6FnQadQit9jWY
142
O3F3m8PsIhz3QUDhpGOYYUFJNGOB/a2jARrg5YjGHXYYry9lLYSZrudMWSgwAPCM
143
+xlVB9JC/9AUbgnzCsEthEAAkZOB43ClsZM4Uojrt8MCgYEAkdSR7m9FjY7KmmpC
144
XqSvgTl1Qjn4OmTnR1ASfrnRhQKPzl69ftQ21CP2H9IMPEEJ9CYwehxpCt/61lB2
145
nJnouXneXGasbXKD6tGUgUn3nLXSgZUFJsqSGQUxwNDBkkoAZyZsHZJgQwLJMUYK
146
FWK4A31CSSMhmyqTlqePGzOOat0=
147
-----END PRIVATE KEY-----"""
148

    
149
MELLON_PUBLIC_KEYS = ["""-----BEGIN CERTIFICATE-----
150
MIID7TCCAtWgAwIBAgIJAIMCYinZvykRMA0GCSqGSIb3DQEBCwUAMIGMMQswCQYD
151
VQQGEwJGUjETMBEGA1UECAwKU29tZS1TdGF0ZTEOMAwGA1UEBwwFUGFyaXMxEzAR
152
BgNVBAoMCkVudHJvdXZlcnQxHTAbBgNVBAMMFCouZGV2LmVudHJvdXZlcnQub3Jn
153
MSQwIgYJKoZIhvcNAQkBFhVzbWloYWlAZW50cm91dmVydC5jb20wHhcNMTUwMzE3
154
MTczMTE1WhcNMTYwMzE2MTczMTE1WjCBjDELMAkGA1UEBhMCRlIxEzARBgNVBAgM
155
ClNvbWUtU3RhdGUxDjAMBgNVBAcMBVBhcmlzMRMwEQYDVQQKDApFbnRyb3V2ZXJ0
156
MR0wGwYDVQQDDBQqLmRldi5lbnRyb3V2ZXJ0Lm9yZzEkMCIGCSqGSIb3DQEJARYV
157
c21paGFpQGVudHJvdXZlcnQuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
158
CgKCAQEAx/AxN00+MVG3uP5U1DWDOnDjRphEjBnS0BjDyN8zvDm7JQ+zXNkLbwVc
159
94ZXWTPzWfUgLb4aBsE97m1xVllBZMQtRdKms9y3N12Obtq+H9vmlho3VBOdOHzZ
160
smaQLDwUmXABJzIcHghotHfkb3mhvFUZR0Ax8wXKf/H4+DYX33q7+Oouxh1JqBCU
161
mQm4zGwgoINQDhagUVkPD7EJcGPZxkKtEWkDqQ76AY2TpBgc3INV6n4L2QdwMFjF
162
2gaLqcaAgRMGy5ZVgelm9hU+Jp4NGjhT2iiWm8pwr3UaQ+RXPUEfRYZs5vjvtXiW
163
04/EQvMCf4PI3UUTCyQEzcwCcz50uQIDAQABo1AwTjAdBgNVHQ4EFgQUUw8dVvEe
164
Nw6emo06xeqPIdxwO34wHwYDVR0jBBgwFoAUUw8dVvEeNw6emo06xeqPIdxwO34w
165
DAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAM4ZyCY0WIkkzozvO+Rw4
166
Q1bZmnz+F6+rZith852K57uRJU0GYX8Mz+LzQN+hqtWZipb6cwyX4I0TwVDkTHfA
167
blZlhiEterLLMYZlfVkgUpR56Z8SwE30yzDLAGvsBoY/Qy6sUFXGJMWNquWND2ii
168
7hYPP31xfv3omkQkkg4mxGWEpeo5oIwnM/tgPmlp3y8vACwkPXXzFkAUevjoqNXS
169
k5zCDjew+ZHe4d3Tzw2LUyRiELjOzdrjTtTCUQ3BZZSlLoXHdYdO+QZUUutaQMNa
170
3hWDMk5AYC2wkdbiFaYiihbz0MQrmoIc0RBl8kfdbQnC9xwoT1wgJeUOv0v2nuDv
171
iQ==
172
-----END CERTIFICATE-----"""]
173

    
174

    
175
local_settings_file = os.environ.get('UAUTH_SETTINGS_FILE',
176
        os.path.join(os.path.dirname(__file__), 'local_settings.py'))
177
if os.path.exists(local_settings_file):
178
    execfile(local_settings_file)
(6-6/11)