Я создал приложение Web Forms в ASP. Net и использую Azure Аутентификацию AD, чтобы пользователи могли входить со своими учетными данными Microsoft и проходить надлежащую аутентификацию.
Я внимательно следил за следующим учебником, предоставленным Microsoft: https://docs.microsoft.com/en-us/azure/active-directory/develop/tutorial-v2-asp-webapp
Приложение работает так, как задумано, за исключением одной раздражающей проблемы. Иногда пользователи получают следующее сообщение об ошибке «ERR_TOO_MANY_REDIRECTS» «Попробуйте очистить куки». Очистка файлов cookie и повторный вход в систему решают проблему, но, очевидно, это не идеально.
Проблема в том, что я не смог воспроизвести проблему сам, поэтому трудно точно определить, что именно является причиной проблемы.
У меня есть мастер-страница, а в коде я запустив следующий код, чтобы убедиться, что пользователь прошел аутентификацию при навигации по приложению
protected void Page_Load(object sender, EventArgs e)
{
//Check if user is authenticated on each page request
if (!Request.IsAuthenticated)
{
HttpContext.Current.GetOwinContext().Authentication.Challenge(
new AuthenticationProperties { RedirectUri = "/home.aspx" },
OpenIdConnectAuthenticationDefaults.AuthenticationType);
}
else
{
try
{
//Check if connection string is set
if (Session["ConnectionString"].ToString() == "")
{
Response.Redirect("home.aspx"); //If empty redirect user to Home page to set connection string
}
//Get data for current user and display their username and email address
ClaimsPrincipal cp = ClaimsPrincipal.Current;
userName.InnerText = cp.FindFirst(ClaimTypes.GivenName).Value + " " + cp.FindFirst(ClaimTypes.Surname).Value;
email.InnerText = HttpContext.Current.User.Identity.Name;
}
catch(Exception ex)
{
}
}
}
В файле WebConfig у меня URL перенаправления, установленный как
<add key="RedirectUrl" value="https://mywebsite.com/auth/openid/return" />
и в Azure Portal Я использовал этот же RedirectUrl
Любая идея, что может вызывать случайную проблему бесконечного l oop, которую получают пользователи?