2016-05-25 2 views
3

Я использую ADAL в своем коде. Одна вещь, которую я хочу использовать, - это использовать разные учетные данные, поэтому я могу разрешать различным пользователям использовать Azure AD в консольной программе.Microsoft.IdentityModel.Clients.ActiveDirectory.UserCredential не принимает 2 параметра?

Microsoft.IdentityModel.Clients.ActiveDirectory.UserCredential cred = new Microsoft.IdentityModel.Clients.ActiveDirectory.UserCredential("username", "password"); 

Это строка, которую я использую для создания учетных данных пользователя. Я использую nuget для получения последнего ADAL. Тем не менее, эта линия показывает сообщение об ошибке:

The best overloaded method match for 'Microsoft.IdentityModel.Clients.ActiveDirectory.UserCredential.UserCredential(string, Microsoft.IdentityModel.Clients.ActiveDirectory.UserAuthType)' has some invalid arguments

Однако, по словам https://msdn.microsoft.com/en-us/library/microsoft.identitymodel.clients.activedirectory.usercredential.aspx

UserCredential(String, String) 
Constructor to create credential with client id and secret 

Каждый знает, что я сделал неправильно?

Благодаря

+0

Я не столкнуться с этой ошибкой при используя UserCredential, можете ли вы предоставить больше кода? Ошибка является странной, вы новичок ** Microsoft.IdentityModel.Clients.ActiveDirectory.UserCredential **, в то время как ошибка показывает ** Microsoft.IdentityModel.Clients.ActiveDirectory.UserCredential.UserCredential ** имеет недопустимые аргументы? – forester123

+1

использует UserPasswordCredential, поскольку он наследует UserCredential. –

ответ

15

В ADAL .NET v3UserCredential Constructor больше не поддерживает второй параметр (password), вместо этого вам нужно использовать UserPasswordCredential class

Пример

var credentials = new UserPasswordCredential(userName, password); 
var context = new AuthenticationContext(authorityUri); 
var authResult = context.AcquireTokenAsync(resource, clientId, credentials).Result; 

 Смежные вопросы

  • Нет связанных вопросов^_^