Как аутентифицировать Pasword пользователя против Azure AD, используя c# - PullRequest
1 голос
/ 10 февраля 2020

Я пытаюсь получить токен с именем пользователя и паролем, но аутентификация вызывает исключение, и токен имеет значение NULL. Я довольно новичок в Azure. Мой код:

 public string AuthenticateUser(string username, string password)
    {
        const string resources = "https://management.core.windows.net/";
        const string clientId = "";
        const string aadTokenIssuerUri = "https://login.windows.net/common/";
        AuthenticationContext authenticationContext = new AuthenticationContext(aadTokenIssuerUri);
        UserCredential userCredentials = new UserPasswordCredential(username, password);
        if (authenticationContext.TokenCache != null)
        {
            authenticationContext.TokenCache.Clear();
        }
        AuthenticationResult authenticationResult = authenticationContext.AcquireTokenAsync(
            resources,
            clientId,
            userCredentials).GetAwaiter().GetResult();
        var token = authenticationResult.AccessToken;
        return token;

}

          try
            {
                var token =   azureUsers.AuthenticateUser("", "");
                if (!string.IsNullOrEmpty(token))
                {
                    Console.WriteLine("here is token {0}", token);
                   result = true;
                }
            }
            catch (Exception e)
            {
                if (i < numRetries)
                {
                    Thread.Sleep(retryInterval);
                }

            }

Скажите, пожалуйста, что не так с этим кодом.

1 Ответ

0 голосов
/ 11 февраля 2020

Этот код в порядке. Необходимо проверить конфигурацию на портале Azure.

1.Обратите ваше приложение в качестве клиента c.

enter image description here

2.Добавьте Azure Разрешение API управления службами и предоставить согласие администратора / пользователя (интерактивный запрос авторизации для этого пользователя и ресурса.)

enter image description here

...