2017-02-16 13 views
0

Я пытаюсь включить SSO с офисом 365 для одного из наших веб-приложений. проблема заключается в том, что как только SSO работает, все мои обратные вызовы игнорируются.UseOpenIdConnectAuthentication убивает postback

что я сделал следующее, я установил эти пакеты NuGet - Microsoft.Owin - Microsoft.Owin.Host.SystemWeb - Microsoft.Owin.Security - Microsoft.Owin.Security.Cookies - Microsoft .Owin.Security.OpenIdConnect - Owin

Я создал приложение в моем AAD тогда я добавил некоторые настройки в мой web.config

<add key="ida:PostRedirectUri" value="http://localhost:4439" /> 
 
    <add key="ida:ClientId" value="XXXXXXX" /> 
 
    <add key="ida:AADInstance" value="https://login.microsoftonline.com/" /> 
 
    <add key="ida:Tenant" value="XXXX.onmicrosoft.com" /> 
 
    <add key="ida:PostLogoutRedirectUri" value="http://localhost:4439" />

и я добавил Startup.vb к моему решению следующего содержания

app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType) 

    app.UseCookieAuthentication(New CookieAuthenticationOptions()) 
    app.UseOpenIdConnectAuthentication(New OpenIdConnectAuthenticationOptions() With { 
     .ClientId = clientId, 
     .Authority = authority 
    }) 
    app.UseStageMarker(PipelineStage.Authenticate) 

и после этого SSO работает однако аль постбэк на кнопках не в состоянии если нажать на кнопку на странице просто получает перезагрузку , также параметр IsPostBack всегда равно false.

Я обнаружил, что когда я удаляю часть «app.UseOpenIdConnectAuthentication», postbacks снова работают, но SSO нет. Как я могу убедиться, что мои postbacks работают, и я также могу использовать UseOpenIdConnectAuthentication?

спасибо.

ответ

0

Я нашел этот вопрос, в моем web.config я имел

< модули runAllManagedModulesForAllRequests = "истинный"> в system.web вынув ключ "runAllManagedModulesForAllRequests" решена проблема < модули>