Ich bin neu bei Azure AD und versuche, eine vom AD gesicherte API zu verwenden. Ich habe die API erfolgreich erstellt und gesichert, aber ich habe es in meiner Windows-Formular-App schwer in Anspruch genommen. Ich habe die Dokumentation zu Link, versucht aber eine Kompilierung Fehler in dieser ZeileAzure AD Erhalte Zugriffstoken aus dem Authentifizierungsergebnisobjekt
AuthenticationResult ar =
ac.AcquireToken("https://cloudidentity.net/WindowsAzureADWebAPITest",
"a4836f83-0f69-48ed-aa2b-88d0aed69652",
new Uri("https://cloudidentity.net/myWebAPItestclient"));
Es gibt keine solche Methode in der ADAL jetzt bekommen. Es gibt Asynchron-Version, die ich versuchte, nimmt aber verschiedene Parameter
AuthenticationResult ar =
ac.AcquireTokenAsync("https://cloudidentity.net/WindowsAzureADWebAPITest",
"a4836f83-0f69-48ed-aa2b-88d0aed69652",
new Uri("https://cloudidentity.net/myWebAPItestclient"), IPlatformParameters);
Zusammen mit anderen Informationen, es will auch IPlatformParameters Objekt, das ich keine Ahnung von habe. Ich habe versucht, null zu passieren und gehen Sie vor, aber dann gibt es Fehler in dieser Zeile
string authHeader = ar.CreateAuthorizationHeader();
Fehler ist, dass es in ADAL für ar Objekt keine solche Methode ist. Also sprang ich zu diesem tutorial, da er auch die Windows Forms App verwendete. Der Code, den er schreibt, ist
Task<AuthenticationResult> ar = authContext.AcquireTokenAsync("https://carsforher.onmicrosoft.com/SecuredCars_20160722021100", "2640aca3-a35e-42f8-8f6d-2e5fe1a09df4", new Uri("http://localhost"), null);
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", ar.AccessToken).....
Aber es gibt keine Eigenschaft als AccessToken für das AR-Objekt. Dann habe ich versucht, Beispielanwendungen von herunterzuladen, aber sie haben auch den exakt gleichen Code geschrieben, der leider nicht funktioniert. Die Version von ADAL, die ich verwende, ist 3.12.0.827. Bitte helfen Sie mir herauszufinden, wie ich das Access Token bekommen und die API konsumieren kann.