Проблема с файлом cookie ASPXAUTH при входе в Azure AD
Я использую опцию входа Azure AD для Office 365, я использую 2 отдельных клиентских приложения в моем Azure AD для своего сайта для производства и разработки, как показано ниже, производство: https://samples@company.com/ (защищенный сайт) разработка: http://samples@company.com:88/ (не защищено)
логин работает нормально, когда вы входите на сайты по отдельности, но получаете ошибку при выполнении следующих шагов: 1. если я захожу на свой рабочий сайт, мой сайт разработки не работает. 2. Единственное отличие, которое мы можем заметить, заключается в том, что файл cookie ASPXAUTH был создан при входе на рабочий сайт.
Пока я не выйду из сайта производства, я не могу войти в сайт разработки. пожалуйста, предложите свои решения исправить это.
public static void ConfigureAuth(IAppBuilder app)
{
app.UseKentorOwinCookieSaver();
app.UseCookieAuthentication(new CookieAuthenticationOptions());
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
app.UseOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationOptions
{
ClientId = clientId,
Authority = authority,
PostLogoutRedirectUri = postLogoutRedirectUri,
RedirectUri = redirectUri,
UseTokenLifetime = false,
Notifications = new OpenIdConnectAuthenticationNotifications
{
SecurityTokenValidated = context =>
{
string returnUrl = context.AuthenticationTicket.Properties.RedirectUri;
context.AuthenticationTicket.Properties.RedirectUri = "/members/register?returnUrl="+ returnUrl;
return Task.FromResult(0);
},
AuthenticationFailed = context =>
{
if (context.Exception.Message.StartsWith("OICE_20004") || context.Exception.Message.Contains("IDX10311"))
{
context.SkipToNextMiddleware();
context.Response.Redirect("/members/logon");
return Task.FromResult(0);
}
return Task.FromResult(0);
}
}
});
}
}
}
Проблема, с которой я столкнулся, заключается в том, что после входа в систему из Office 365 он перенаправляет на URL-адрес ниже http://samples@company.com:88/members/register?returnUrl=http://samples@company.com:88/ но для этого требуется быть перенаправленным на http://samples@company.com:88/ этой ссылке.
1 ответ
Предоставлял ли веб-сайт какую-либо функцию регистрации? Похоже, что веб-сайт поддерживает регистрацию входа пользователя из Azure AD. Если я правильно понимаю, мы можем переименовать cookie-имя, выданное веб-сайтом, с помощью приведенного ниже кода, чтобы куки-файлы для двух сайтов работали по отдельности:
app.UseCookieAuthentication(new CookieAuthenticationOptions()
{
CookieName = "DevSite",
});