È disponibile un modulo django-shibboleth che può essere utilizzato per ottenere attributi da un IdP e mapparli agli utenti nel sistema di autenticazione Django. Gran parte del lavoro è svolto da Shibboleth stesso, con solo una piccola quantità di codice richiesta per la mappatura.
L'imballaggio è disponibile da qui.
linuxsoft.cern.ch/internal/repos/ai6-stable/x86_64/os/Packages/django-shibsso-0.1-1.noarch.rpm
o la fonte da qui.
linuxsoft.cern.ch/internal/repos/ai6-stable/source/SRPMS/django-shibsso-0.1-1.src.rpm
Seguire le istruzioni Shibboleth per la configurazione del Shibboleth Service Provider locale (SP) per l'uso con un IdP.
Nel file http.conf o nella configurazione della propria app in conf.d, creare la seguente voce.
<Location /shibboleth>
AuthType shibboleth
ShibRequireSession On
ShibUseHeaders On
require valid-user
</Location>
Ciò dovrebbe comportare che gli URL a/shibboleth vengano indirizzati alla pagina di accesso di IdP. Dopo aver effettuato l'accesso, verrà restituita una pagina 404.
Aggiungi la configurazione, sostituendo l'app con il nome della tua app.
<Location "/">
SetHandler mod_python
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE app.settings
PythonDebug Off
</Location>
Questo dovrebbe comportare il seguente errore dopo l'accesso tramite l'URL/shibboleth. L'URL corrente, Shibboleth.sso/ADFS, non corrisponde a nessuno di questi.
Per risolvere questo problema è necessario aggiungere quanto segue alla configurazione.
<Location /Shibboleth.sso>
SetHandler None
</Location>
/var/log/shibboleth/transaction.log dovrebbe indicare quali attributi vengono rilasciati.
Quali funzionalità sono necessarie? Verrai mai autenticato solo contro un singolo IdP o hai bisogno di DS, WAYF, federazione, risoluzione degli artefatti, disconnessione e così via? – JimB
Domande eccellenti! Questo particolare progetto avrà bisogno di DS, WAYF, ecc. – user1007116
Soprattutto se utilizzerai più funzioni SAML di base, rimarrò con la prima parte della mia risposta e accetto con @hrnt. Incorporare lo shibboleth nativo SP sarà il percorso più affidabile. – JimB