यह पता चला कि मूल कारण अजाक्स कॉल था।
समस्याग्रस्त प्रवाह
1) OAuth कुकी कुछ समय
2) समय सीमा समाप्ति सामान्य रूप से पुनर्निर्देशन login.microsoft.com
करने के लिए पृष्ठ कुकी ताज़ा करने के लिए कारण बनता है के बाद समाप्त हो गया था। इस चरण में ओथ फ्रेमवर्क नईnonce
प्रतिक्रिया में कुकी (हर बार) जोड़ता है!
3) लेकिन अजाक्स login.microsoft.com
के डोमेन (क्रॉस-डोमेन के बाहर पुनर्निर्देशन संभाल नहीं है)। लेकिन कुकी पहले ही पृष्ठ पर संलग्न थी।
4) अगला समय-समय पर अजाक्स कॉल 'अस्थायी रूप से कुकी से एक तेजी से वृद्धि के कारण प्रवाह को दोहराया।
समाधान
मैं "Owin OpenId" ढांचे सेटअप अजाक्स को संभालने के लिए कोड का विस्तार करने के लिए किया था अलग ढंग से कहता है - पुनर्निर्देशन को रोकने और कुकीज़ भेजने से रोकने के।
public void ConfigureAuth(IAppBuilder app)
{
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
app.UseCookieAuthentication(new CookieAuthenticationOptions());
app.UseOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationOptions
{
ClientId = clientId,
Authority = authority,
Notifications = new OpenIdConnectAuthenticationNotifications
{
RedirectToIdentityProvider = ctx =>
{
bool isAjaxRequest = (ctx.Request.Headers != null && ctx.Request.Headers["X-Requested-With"] == "XMLHttpRequest");
if (isAjaxRequest)
{
ctx.Response.Headers.Remove("Set-Cookie");
ctx.State = NotificationResultState.HandledResponse;
}
return Task.FromResult(0);
}
}
});
}
अजाक्स फोन करने वाले भी समायोजित करने की 401
कोड का पता लगाने और पूर्ण पृष्ठ ताज़ा (जो माइक्रोसॉफ्ट अधिकार के लिए एक त्वरित रीडायरेक्ट कारण) प्रदर्शन करने के लिए किया था।
स्रोत
2016-04-22 13:30:50
धन्यवाद। मुझे एक समान समस्या थी और इससे इसे हल करने में मदद मिली। – Namrehs
यह क्रोम कुकीज़ को साफ़ करने के बाद भी मेरी समस्या को हल करने के लिए दिखाई दिया। विडंबना यह है कि एमएस के बहादुर नए ब्राउज़र एज .... आईई के रूप में बहुत सी असंगतताएं और प्रदर्शन समस्याएं हैं, इसलिए मैं अब क्रोम का उपयोग करने के लिए वापस आ गया हूं। –
मेरी समस्या भी हल की। धन्यवाद –