Как определить, что текущий пользователь вошел в систему Azure AD. NET Core 3.1 - PullRequest
0 голосов
/ 04 августа 2020

У меня есть программа. 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);
}
 }

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 04 августа 2020

Посетите страницу Примеры кода . Например, есть много примеров. NET Core Web App. Например, этот , который является. NET Core 3.1.

Но я предлагаю вам сначала начать с Основы аутентификации , go поверх Маркеры безопасности , Модель приложения и, наконец, понимание процесса входа в приложение в Microsoft Identity Platform.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...