Microsoft.IdentityModel.Clients.ActiveDirectory.UserCredential不带2个参数?

我在我的代码中使用ADAL。 我想要使​​用的一件事是使用不同的凭据,因此我可以在控制台程序中针对Azure AD授权不同的用户。

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

这是我用来创建用户凭据的行。 我用nuget获取最新的ADAL。 但是,此行显示错误:

“Microsoft.IdentityModel.Clients.ActiveDirectory.UserCredential.UserCredential(string,Microsoft.IdentityModel.Clients.ActiveDirectory.UserAuthType)”的最佳重载方法匹配包含一些无效参数

但是,根据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 

谁知道我做错了什么?

谢谢

在ADAL .NET v3中, UserCredential Constructor不再支持第二个参数( password ),而是需要使用UserPasswordCredential

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