Я пытаюсь заставить SSO работать с сервером Shibboleth, используя гем Omniauth-saml, но у меня возникают ошибки с моим SP.
Я понимаю, что существует специальная универсальная стратегия для shibboleth, но, по-видимому, требуется, чтобы на веб-сервере SP было установлено программное обеспечение Shibboleth, и оно работает только с Apache или IIS (мы используем nginx). Насколько я понимаю, более общий Omniauth-saml должен работать с IDP Shibboleth без программного обеспечения Shibboleth, установленного на сервере SP.
Мое тестовое приложение работает с Samling (https://capriza.github.io/samling/),), но не удается, когда я пытаюсь аутентифицироваться на TestShib (testshib.org) после ввода учетных данных на стороне TestShib. Ошибка, которую я вижу, возвращается из TestShib - Invalid Ticket. В журналах TestShib я вижу следующие ошибки:
11:28:56.694 - ERROR [edu.internet2.middleware.shibboleth.idp.profile.saml2.AbstractSAML2ProfileHandler:927] - Could not resolve a key encryption credential for peer entity: https://rc.529garage.com/garage/users/auth/saml/metadata?organization_id=1755
11:28:56.695 - ERROR [edu.internet2.middleware.shibboleth.idp.profile.saml2.AbstractSAML2ProfileHandler:289] - Unable to construct encrypter
org.opensaml.xml.security.SecurityException: Could not resolve key encryption credential
Вот метаданные SP, которые я загрузил в TestShib (сертификат отредактирован):
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" ID="_0c883152-9968-483f-b8ba-2b22a86d2f17" entityID="https://rc.529garage.com/garage/users/auth/saml/metadata?organization_id=1755">
<md:SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<md:KeyDescriptor use="signing">
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:X509Data>
<ds:X509Certificate>[redacted]</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://rc.529garage.com/garage/users/auth/saml/callback?organization_id=1755" index="0" isDefault="true"/>
<md:AttributeConsumingService index="1" isDefault="true">
<md:ServiceName xml:lang="en">Required attributes</md:ServiceName>
<md:RequestedAttribute FriendlyName="Email address" Name="email" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="false"/>
<md:RequestedAttribute FriendlyName="Full name" Name="name" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="false"/>
<md:RequestedAttribute FriendlyName="Given name" Name="first_name" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="false"/>
<md:RequestedAttribute FriendlyName="Family name" Name="last_name" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="false"/>
</md:AttributeConsumingService>
</md:SPSSODescriptor>
</md:EntityDescriptor>
Кто-нибудь заставляет Омниаут-Самла работать против ВПЛ Шибболет, и есть какие-нибудь советы, которые могут помочь мне?
Спасибо!