Переменные среды из Shibboleth не передаются при использовании ProxyPass

Я использую Shibboleth вместе с Apache (с mod_proxy) и заметил, что переменные среды, такие как REMOTE_USER, не доходят до моего приложения.

У меня есть виртуальный хост, который выглядит примерно так:

<VirtualHost *:443>
  ServerName example.com

  <Location /Shibboleth.sso>
    ProxyPass !
  </Location>

  ProxyPass / http://127.0.0.1:9292/
  ProxyPassReverse / http://127.0.0.1:9292/

  ...
</VirtualHost>

Запросы передаются через прокси в приложение Ruby on Rails, работающее с веб-сервером Puma, но когда я проверяю request.ENV, я не вижу атрибутов shibboleth. У кого-нибудь есть опыт с чем-то подобным?


person Kyle Decot    schedule 08.06.2016    source источник
comment
Вы указали, что хотите использовать шибболет AuthType? Если вы считаете, что виртуальный хост прав, убедитесь, что вы установили атрибут, который будет извлекаться для сообщения saml от IdP (по умолчанию в вашем sp см. attribute-map.xml)   -  person Guillermo    schedule 02.07.2016
comment
..... Затем для настройки REMOTE_USER вы можете установить приоритетный список этих атрибутов, см. примеры здесь wiki.shibboleth.net/confluence/display/SHIB2/   -  person Guillermo    schedule 02.07.2016


Ответы (1)


Установите ShibUseHeaders в конфигурации Apache: AuthType shibboleth ShibRequireSession On ShibUseHeaders On Require valid-user

Затем вы должны получить атрибуты как «HTTP_VARNAME» и использовать их вне запроса.

person Julian    schedule 15.03.2019