Нет перенаправления в расположение SingleSignOnService при возникновении проблемы в проекте веб-форм - PullRequest
0 голосов
/ 14 января 2019

Я взял на себя проект, и некоторые другие обновления были необходимы для других вещей, поэтому я пошел оттуда, где все работало ...

<package id="Kentor.AuthServices" version="0.18.0" targetFramework="net452" />
<package id="Kentor.AuthServices.Owin" version="0.18.0" targetFramework="net452" />
<package id="Microsoft.Owin" version="3.0.1" targetFramework="net452" />
<package id="Microsoft.Owin.Host.SystemWeb" version="3.0.1" targetFramework="net452" />
<package id="Microsoft.Owin.Security" version="3.0.1" targetFramework="net452" />
<package id="Microsoft.Owin.Security.Cookies" version="3.0.1" targetFramework="net452" />

К этим ...

<package id="Sustainsys.Saml2" version="2.2.0" targetFramework="net472" />
<package id="Sustainsys.Saml2.Owin" version="2.2.0" targetFramework="net472" />
<package id="Microsoft.Owin" version="4.0.0" targetFramework="net472" />
<package id="Microsoft.Owin.Host.SystemWeb" version="4.0.0" targetFramework="net472" />
<package id="Microsoft.Owin.Security" version="4.0.0" targetFramework="net472" />
<package id="Microsoft.Owin.Security.Cookies" version="4.0.0" targetFramework="net472" />

Я следовал руководству по миграции, но не смог перенаправить в расположение SingleSignOnService, когда в моем проекте веб-форм возникает проблема.

Мой Web.config имеет следующую структуру ...

<sustainsys.saml2 entityId="https://demo.local/AuthServices"
        returnUrl="https://demo.local"
        publicOrigin="https://demo.local"
        modulePath="/AuthServices">
    <serviceCertificates>
        <add fileName="~/somename.pfx"
            use="Signing" />
    </serviceCertificates>
    <identityProviders>
        <add entityId="My-IDP"
            allowUnsolicitedAuthnResponse="true"
            loadMetadata="true"
            metadataLocation="https://some-saml2-idp.com/metadata" />
    </identityProviders>
</sustainsys.saml2>

И мой Оуэн запускается ...

var defaultSignInAsAuthType = "Cookies";

app.SetDefaultSignInAsAuthenticationType(defaultSignInAsAuthType);

app.UseCookieAuthentication(new CookieAuthenticationOptions
{
    AuthenticationType = defaultSignInAsAuthType,
    ReturnUrlParameter  = "returnUrl",
    LoginPath = new PathString("/login"),
    LogoutPath = new PathString("/logout")
});

var saml2Options = new Saml2AuthenticationOptions(true);
app.UseSaml2Authentication(saml2Options);
app.UseStageMarker(PipelineStage.Authenticate);

AntiForgeryConfig.UniqueClaimTypeIdentifier = ClaimTypes.Name;

Я пытался вызвать вызов в отображении пути ...

ctx.Authentication.Challenge(new AuthenticationProperties()
{
    RedirectUri = "https://demo.local"
});

У меня есть вопросы, не слишком ли я обновил пакеты Owin и есть ли у кого-нибудь советы по устранению неполадок?

1 Ответ

0 голосов
/ 14 января 2019

Значение по умолчанию для активного / пассивного изменилось. Ранее промежуточное ПО было активным по умолчанию, что означало, что оно прослушивало любой вызов Challenge. Теперь он пассивен, поэтому вы должны использовать перегрузку Challenge, которая задает схему аутентификации, и установить для нее значение "Saml2".

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

...