我在代码中使用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)'有一些无效的论点
UserCredential(String, String)
Constructor to create credential with client id and secret
任何人都知道我做错了什么?
由于
答案 0 :(得分:20)
在ADAL .NET v3 UserCredential Constructor
中不再支持第二个参数(password
),而是需要使用UserPasswordCredential
class
示例
var credentials = new UserPasswordCredential(userName, password);
var context = new AuthenticationContext(authorityUri);
var authResult = context.AcquireTokenAsync(resource, clientId, credentials).Result;