У меня есть программа. NET Core 3.1, в которой размещено приложение Angular 9, которое будет использоваться пользователями в компании, использующей Azure AD. Мне нужно определить, вошел ли уже пользователь в свою Azure AD, и, если да, получить информацию о нем. Я хотел бы определить это до загрузки приложения Angular для пользователя. Это довольно просто в стандартных Windows AD и. NET, но я не могу найти, как это сделать с. NET Core и Azure AD.
Я добавил несколько псевдокод ниже, чтобы помочь понять, чего я пытаюсь достичь:
[ApiController]
[Authorize]
[Route("api/[controller]/[action]")]
public class AuthenticationController : ControllerBase
{
public AuthenticationController()
{
}
[AllowAnonymous]
[HttpPost]
public LoginResult Login([FromBody] LoginRequestDC loginRequest)
{
LoginResult lr = new LoginResult();
if (loginRequest != null)
{
try
{
if(NotLoggedInAzureAD)
{
lr = LoginWithUserNameAndPasswordAndGetInfoFromDataBase(loginRequest);
}
else
{
lr.IsLoggedIn = true;
lr.UserInfo = GetInfoFromAzureAD;
}
}
catch (Exception ex)
{
Common.AppLogger.Error(ex, $"Unable to login.");
}
}
return lr;
}
private bool NotLoggedInAzureAD()
{
//Not sure how you would get the Azure AD user in .net core
return CodeToAskAzureADIfUserLoggedIn(MyHttpContext.Current.User.Identity.Name);
}
private UserInfo GetInfoFromAzureAD()
{
return CodeToAskAzureADForUserInfo(MyHttpContext.Current.User.Identity.Name);
}
}
Пожалуйста, помогите.