ADAL.NET v3 не поддерживает AcquireToken с UserCredential?

В ADAL.NET 2.x мы используем приведенный ниже код для получения токена от Azure AD с помощью UserCredential и он отлично работает:

 var authContext = new AuthenticationContext(Authority);
 var userCredential = new UserCredential(username, password);
 var token = authContext.AcquireToken(ResourceUrl, ClientId, userCredential);

Когда я обновил ADAL.NET v3 сегодня, код больше не компилируется, потому что в новой версии UserCredential не имеет перегруженного конструктора с именем пользователя и паролем.

Как я могу обойти это с новой версией ADAL.NET v3?

Ответ 1

Вместо этого используйте класс UserPasswordCredential, который является подклассом UserCredential

Ответ 2

Попробуйте UserPasswordCredential, класс должен быть переименован в v3.

Ответ 3

Это устраняет проблему для UserCredentials, но также кажется, что это изменение типа AuthenticationContext, которое больше не похоже на метод AcquireToken. Вы можете решить эту проблему, используя AcquireTokenAsync

Ответ 4

FYI, кажется, что они удалили эту функциональность из ADAL. источник

Чтобы выполнить аутентификацию с помощью комманды user username/password, я считаю, что вам придется использовать HttpClient и самостоятельно выполнить запрос на отправку.

Опубликовать в:

https://login.microsoftonline.com/yourdomain.onmicrosoft.com/oauth2/token

с:

resource={resource}&client_id={clientid}&grant_type=password&username={username}&password={password}&scope=openid&client_secret={clientsecret}

в запросе