Доступен модуль django-shibboleth, который можно использовать для получения атрибутов из IdP и их сопоставления пользователям в системе аутентификации Django.Большая часть работы выполняется самим Shibboleth, и для сопоставления требуется только небольшой объем кода.
Упаковка доступна здесь.
linuxsoft.cern.ch / internal / repos/ai6-stable/x86_64/os/Packages/django-shibsso-0.1-1.noarch.rpm
или источник отсюда.
linuxsoft.cern.ch / internal / repos /ai6-stable / source / SRPMS / django-shibsso-0.1-1.src.rpm
Следуйте инструкциям Shibboleth для настройки местного поставщика услуг Shibboleth (SP) для использования с IdP.
В файле http.conf или в конфигурации своего приложения в conf.d создайте следующую запись:
<Location /shibboleth>
AuthType shibboleth
ShibRequireSession On
ShibUseHeaders On
require valid-user
</Location>
Это должно привести к тому, что URL-адреса / shibboleth будут перенаправлены на страницу входа в IdP.После успешного входа в систему будет возвращена страница 404.
Добавьте конфигурацию, заменив приложение именем вашего приложения.
<Location "/">
SetHandler mod_python
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE app.settings
PythonDebug Off
</Location>
Это должно привести к следующей ошибке после входа в систему.через URL / shibboleth.Текущий URL-адрес Shibboleth.sso / ADFS не соответствует ни одному из них.
Чтобы решить эту проблему, необходимо добавить в конфигурацию следующее.
<Location /Shibboleth.sso>
SetHandler None
</Location>
/ var /log / shibboleth / Transactions.log должен сообщать вам, какие атрибуты освобождены.