Назад | Перейти на главную страницу

Shibboleth не устанавливает REMOTE_USER

Я относительно новичок в Shibboleth, но, похоже, не могу решить проблему передачи REMOTE_USER моему приложению.

Мой стек - это shibd 2.5.3 и Apache 2.4.18, которые подаются на сервер Gunicorn через сокет unix.

У меня в моем shibboleth2.xml:

<ApplicationDefaults entityID="https://server.uchicago.edu/shibboleth" REMOTE_USER="uid mail eppn">

И моя конфигурация apache:

<Location /minimum>
    AuthType Shibboleth
    Require shibboleth
    ShibRequestSetting requireSession false
</Location>
...
### Shibboleth Auth Test App ###
<Directory /var/www/testing/shib_test_app/minimum_srv/>
    require valid-user
    <Files wsgi.py>
        Require all granted
    </Files>
</Directory>
ProxyPass /minimum/ unix:/var/www/testing/shib_test_app/run/minimum.socket|http://server.uchicago.edu/minimum/

Успешный вход в систему дает следующее в transaction.log:

2017-11-13 11:07:09 INFO Shibboleth-TRANSACTION [1724]: New session (ID: _c7733778bc32d918c86af6ed3032b4d8) with (applicationId: default) for principal from (IdP: urn:mace:incommon:uchicago.edu) at (ClientAddress: 128.135.219.225) with (NameIdentifier: AAdzZWNyZXQxyKNPOa4xNc3jfe3SU1ECnug95BZZklugt27zSuUOLFPnF/G8zlPSTB9M5bAIXSN2WZoR9DB5mxo6w0wii7KQWJQLHtYSQM/H5dyLa+B9MOLq6ZqB7x7z9b6fjvjPpMVCxsjKhr7C7OglCHw2gqk=) using (Protocol: urn:oasis:names:tc:SAML:2.0:protocol) from (AssertionID: _2b139b94d61993652304709bb6a7a1e3)
2017-11-13 11:07:09 INFO Shibboleth-TRANSACTION [1724]: Cached the following attributes with session (ID: _c7733778bc32d918c86af6ed3032b4d8) for (applicationId: default) {
2017-11-13 11:07:09 INFO Shibboleth-TRANSACTION [1724]:     entitlement (5 values)
2017-11-13 11:07:09 INFO Shibboleth-TRANSACTION [1724]:     ucDepartment (1 values)
2017-11-13 11:07:09 INFO Shibboleth-TRANSACTION [1724]:     mail (1 values)
2017-11-13 11:07:09 INFO Shibboleth-TRANSACTION [1724]:     unscoped-affiliation (1 values)
2017-11-13 11:07:09 INFO Shibboleth-TRANSACTION [1724]:     displayName (1 values)
2017-11-13 11:07:09 INFO Shibboleth-TRANSACTION [1724]:     givenName (1 values)
2017-11-13 11:07:09 INFO Shibboleth-TRANSACTION [1724]:     ucisMemberOf (57 values)
2017-11-13 11:07:09 INFO Shibboleth-TRANSACTION [1724]:     cn (1 values)
2017-11-13 11:07:09 INFO Shibboleth-TRANSACTION [1724]:     uid (1 values)
2017-11-13 11:07:09 INFO Shibboleth-TRANSACTION [1724]:     affiliation (2 values)
2017-11-13 11:07:09 INFO Shibboleth-TRANSACTION [1724]:     persistent-id (1 values)
2017-11-13 11:07:09 INFO Shibboleth-TRANSACTION [1724]:     nickname (1 values)
2017-11-13 11:07:09 INFO Shibboleth-TRANSACTION [1724]:     eppn (1 values)
2017-11-13 11:07:09 INFO Shibboleth-TRANSACTION [1724]:     sn (1 values)
2017-11-13 11:07:09 INFO Shibboleth-TRANSACTION [1724]: }

И я попадаю в свой /Shibboleth.sso/Session: Shibboleth.sso / Скриншот сеанса

Похоже, что SP возвращает мне атрибуты, а в shibboleth2.xml Я настроил то, что хочу uid в качестве основного популянта для REMOTE_USER, но для него установлено значение null в переменных среды Apache (по крайней мере, насколько я могу судить, он не отображается в Django request.META). Возможно, стоит знать, что все работает отлично, если я настрою Apache на ShibUseHeaders On, но я бы предпочел не включать это.

Любая помощь о том, где может быть отключение?