Перемещение между сайтами (https) с использованием единого входа SAML с использованием библиотеки Sustainsys.Saml2 - PullRequest
0 голосов
/ 28 февраля 2019

Я использую единый вход через SAML2 с помощью библиотеки «Sustainsys.SAML».У меня есть 2. NET веб-приложения, работающие на той же машине, используя https.Эти 2 приложения являются стандартными приложениями на основе ASP.NET.Проблема заключается в том, чтобы повторно ввести учетные данные после первого запроса другого приложения.Ниже приведены шаги.

  • Сначала веб-приложение сначала запрашивает любую страницу, затем IDP выполняет аутентификацию путем ввода учетных данных LOGIN.После завершения аутентификации страница перенаправляется на соответствующую страницу в соответствии с настройкой в ​​файле конфигурации.

  • Теперь второе приложение просматривается, затем оно снова перенаправляет в IDP и запрашивает повторный ввод учетных данных.Такое поведение не похоже на SSO.В идеале IDP должен возвращать токен аутентификации SAML без повторного запроса учетных данных.Пожалуйста, сообщите.

Для информации, на данный момент я использую макет IDP в среде разработки: https://stubidp.sustainsys.com/Metadata.

Ниже приведены настройки конфигурации для обоих веб-приложений, которые у меня естьиспользуется:

Настройка Web.config в веб-приложении 1:

<sustainsys.saml2 entityId="https://localhost:44303/<appname1>/Saml2" returnUrl="https://localhost:44303//<appname1>/default.aspx" authenticateRequestSigningBehavior="Always">
    <nameIdPolicy allowCreate="true" format="Persistent" />
    <requestedAuthnContext classRef="Password" comparison="Minimum" />
    <identityProviders>
      <add entityId="https://stubidp.sustainsys.com/Metadata" signOnUrl="https://stubidp.sustainsys.com/" allowUnsolicitedAuthnResponse="true" binding="HttpRedirect">
        <signingCertificate fileName="~/App_Data/stubidp.sustainsys.com.cer" />
      </add>
    </identityProviders>
    <serviceCertificates>
      <add fileName="~/App_Data/Sustainsys.Saml2.Tests.pfx" />
    </serviceCertificates>
  </sustainsys.saml2>

Настройка Web.config в веб-приложении 2:

<sustainsys.saml2 entityId="https://localhost:44305/<appname2>/Saml2" returnUrl="https://localhost:44305/<appname2>/default.aspx" authenticateRequestSigningBehavior="Always">
    <nameIdPolicy allowCreate="true" format="Persistent" />
    <requestedAuthnContext classRef="Password" comparison="Minimum" />
    <identityProviders>
      <add entityId="https://stubidp.sustainsys.com/Metadata" signOnUrl="https://stubidp.sustainsys.com/" allowUnsolicitedAuthnResponse="true" binding="HttpRedirect">
        <signingCertificate fileName="~/App_Data/stubidp.sustainsys.com.cer" />
      </add>
    </identityProviders>
    <serviceCertificates>
      <add fileName="~/App_Data/Sustainsys.Saml2.Tests.pfx" />
    </serviceCertificates>
  </sustainsys.saml2>

Пожалуйста, помогите мне в этом, чтобы избежать повторного ввода учетных данных для повторной аутентификации запроса приложения.

Заранее спасибо.

...