2016-05-25 5 views
3

Ich verwende ADAL in meinem Code. Eine Sache, die ich verwenden möchte, ist die Verwendung verschiedener Anmeldeinformationen, sodass ich verschiedene Benutzer im Konsolenprogramm gegen Azure AD autorisieren kann.Microsoft.IdentityModel.Clients.ActiveDirectory.UserCredential akzeptiert nicht 2 Parameter?

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

Dies ist die Zeile, die ich benutze, um die Benutzerberechtigung zu erstellen. Ich benutze nugget, um den neuesten ADAL zu erhalten. Allerdings ist diese Zeile zeigt Fehler:

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

Doch nach 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 

Jeder weiß, was ich falsch gemacht habe?

Dank

+0

ich diesen Fehler stoßen nicht verwenden, wenn können Sie mit UserCredential mehr Code bereitstellen? Der Fehler ist komisch, Sie haben ein ** Microsoft.IdentityModel.Clients.ActiveDirectory.UserCredential ** neu, während der Fehler zeigt ** Microsoft.IdentityModel.Clients.ActiveDirectory.UserCredential.UserCredential ** hat ungültige Argumente? – forester123

+1

Verwenden Sie UserPasswordCredential, da es das UserCredential erbt. –

Antwort

15

In ADAL .NET v3UserCredential Constructor wird nicht mehr unterstützt den zweiten Parameter (password), stattdessen müssen Sie UserPasswordCredential class

Beispiel

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