Таким образом, приведенный ниже код работает в моих средах QA, UAT и PreProd, но выход из системы не работает в Prod. Preprod и prod в основном являются зеркальным отображением друг друга. Артефакты сборки продвигаются на каждом этапе, и единственное изменение, которое вносится, - это переменные среды. Во всех случаях AppSetting ["AuthDomain"] имеет значение .mydomain.com. Каждая среда является поддоменом этого родителя, включая prod. Файл web.config между preprod и prod одинаков за исключением номера сборки, сгенерированного из DevOps и указывающего на разные URL-адреса, содержащие пользовательский интерфейс и API. Среда prod сбалансирована по нагрузке, так что единственное реальное отличие, которое я вижу между preprod и prod Аутентификация осуществляется через oauth2.
У кого-нибудь есть мысли по поводу того, что здесь происходит?
// setting cookie
if (auth != null)
{
HttpCookie authCookie = new HttpCookie("Token", auth.access_token);
DateTime expiration = DateTime.Now.AddSeconds(Convert.ToDouble(auth.expires_in));
authCookie.Expires = expiration;
authCookie.Domain = ConfigurationManager.AppSettings["AuthDomain"];
Response.AppendCookie(authCookie);
}
// logout
if (Request.Cookies["Token"] != null)
{
HttpCookie authCookie = Request.Cookies["Token"];
authCookie.Expires = DateTime.Now.AddDays(-10);
authCookie.Value = null;
authCookie.Domain = ConfigurationManager.AppSettings["AuthDomain"];
Response.AppendCookie(authCookie);
}