Проблема с файлом 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",
});
Другие вопросы по тегам