b843e3d18cf9eb46ed9abc629490c8fdf1445a4d
1 # -*- coding: utf-8 -*-
3 from django
.contrib
.auth
.models
import User
4 from django
.contrib
.auth
.backends
import RemoteUserBackend
, ModelBackend
5 from auf
.django
.saml
import settings
8 class FakeSPBackend(ModelBackend
):
10 On autentifie uniquement sur le username
12 def authenticate(self
, username
=None, password
=None):
14 return User
.objects
.get(username
=username
)
15 except User
.DoesNotExist
:
19 class RealSPBackend(RemoteUserBackend
):
21 Backend reposant sur le id.auf.org
23 create_unknown_user
= True
25 def clean_username(self
, username
):
27 Le IdP retourne le courriel
29 return username
.replace('@auf.org', '')
31 if settings
.SAML_AUTH
:
32 SPBackend
= RealSPBackend
34 SPBackend
= FakeSPBackend