Я пытаюсь настроить shibboleth. Когда я иду в https://mysite/secure/index.php
, он работает правильно, я могу пройти аутентификацию и т. д., но когда я захожу в https://mysite/Shibboleth.sso/Status
(или любой другой https://mysite/Shibboleth.sso/*
) Я получаю следующее сообщение:
shibsp :: ConfigurationException
Система обнаружила ошибку в понедельник, 10 июля, 12:06:32 2017 г.
Чтобы сообщить об этой проблеме, обратитесь к администратору сайта по адресу root @ localhost.
Пожалуйста, включите в любое электронное письмо следующее сообщение:
shibsp :: ConfigurationException в (
https://mysite/Shibboleth.sso/Session/
)Обработчик Shibboleth вызван в ненастроенном месте.
Мой shibboleth2.xml выглядит следующим образом (комментарии удалены для краткости):
<SPConfig xmlns="urn:mace:shibboleth:2.0:native:sp:config" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" clockSkew="1800">
<ApplicationDefaults entityID="https://mysite/shibboleth" REMOTE_USER="eppn">
<Sessions lifetime="28800" timeout="3600" checkAddress="false" relayState="ss:mem" handlerSSL="true" cookieProps="https">
<SSO entityID="https://idp.testshib.org/idp/shibboleth">
SAML2 SAML1
</SSO>
<Logout>SAML2 Local</Logout>
<Handler type="MetadataGenerator" Location="/Metadata" signing="false"/>
<Handler type="Status" Location="/Status" acl="127.0.0.1 ::1"/>
<Handler type="Session" Location="/Session" showAttributeValues="true"/>
<Handler type="DiscoveryFeed" Location="/DiscoFeed"/>
</Sessions>
<Errors supportContact="root@localhost" logoLocation="/shibboleth-sp/logo.jpg" styleSheet="/shibboleth-sp/main.css"/>
<MetadataProvider type="XML" uri="http://www.testshib.org/metadata/testshib-providers.xml" backingFilePath="testshib-two-idp-metadata.xml" reloadInterval="180000" />
<AttributeExtractor type="XML" validate="true" path="attribute-map.xml"/>
<AttributeResolver type="Query" subjectMatch="true"/>
<AttributeFilter type="XML" validate="true" path="attribute-policy.xml"/>
<CredentialResolver type="File" key="my_key" certificate="my_cert" extractNames="false"/>
</ApplicationDefaults>
<SecurityPolicyProvider type="XML" validate="true" path="security-policy.xml"/>
<ProtocolProvider type="XML" validate="true" reloadChanges="false" path="protocols.xml"/>
</SPConfig>
Я изучил каждый файл конфигурации, который смог найти, все настройки, которые только смог придумать. Я включил режим отладки для native.logger и shibd.logger, но ничего не нашел.
Что случилось? или где мне искать?
Нашел ответ:
На самом деле проблема заключалась в том, как настроен Apache. Он переписывал URL-адреса, добавляя / в конце каждого URL-адреса. так https://mysite/Shibboleth.sso/Session
стал https://mysite/Shibboleth.sso/Session/
. Это всегда мелочи!
Поскольку конфигурация Apache необходима для другой части проекта, я изменил атрибут Location, чтобы добавить косую черту в конце, и это сработало отлично! HT- Скотт Кантор в списке рассылки Users@shibboleth.net!