Я пытаюсь использовать Azure AD для аутентификации пользователей в нашем. NET веб-приложении.
Я выполнил следующие инструкции: https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/1-WebApp-OIDC/1-2-AnyOrg
Теперь у меня есть веб-приложение. NET Core 3.1, которое аутентифицирует пользователя в Azure AD. Но дело в том, что затем он должен перенаправить пользователя в наше основное веб-приложение, которое написано на. NET Framework 4.5.2 с уже аутентифицированным пользователем, а это не работает.
В. NET Веб-приложение Core 3.1, я создал этот метод:
[HttpGet]
[HttpPost]
public IActionResult AzureLogin()
{
if (!User.Identity.IsAuthenticated)
{
return Challenge(new AuthenticationProperties() { RedirectUri = "/Test/Test" }, "OpenIdConnect");
}
else
{
return View("~/Home/Index.cshtml");
}
}
Этот «/ Test / Test» является еще одним методом, который перенаправляет пользователя в основное приложение:
public IActionResult Test()
{
return Redirect("http://localhost:5000/Login/Login");
}
Главное приложение (которое находится на той же машине, но как другой процесс и на другом порту) затем имеет проверку if (this.HttpContext.User?.Identity?.IsAuthenticated != false)
в методе входа в систему. Эта проверка всегда возвращает, что пользователь не аутентифицирован, даже если приложение входа Azure AD сообщает, что пользователь аутентифицирован.
Возможно ли каким-то образом передать аутентифицированную личность через перенаправление?