Оминаут-Самл и Шибболет - PullRequest
       69

Оминаут-Самл и Шибболет

0 голосов
/ 11 сентября 2018

Я пытаюсь заставить 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>

Кто-нибудь заставляет Омниаут-Самла работать против ВПЛ Шибболет, и есть какие-нибудь советы, которые могут помочь мне?

Спасибо!

...