2016-07-19 10 views
0

Ich versuche, meinen Benutzer in einer WPF-App mit ADAL (Active Directory Authentication Library) zu authentifizieren.WPF ADAL AcquireTokenAsync

Ich verwende den folgenden Code:

AuthenticationContext context = new AuthenticationContext("https://login.windows.net/<my_tenant>.onmicrosoft.com"); 
AuthenticationResult result = await context.AcquireTokenAsync("https://graph.windows.net/", "<client_id>",new Uri("<redirect_uri>"); 

Die AcquireTokenAsync Verfahren benötigen einen dritten Parameter: eine Umleitung uri.

Ich verstehe die Verwendung dieses Parameters im Falle einer Webanwendung.

Aber im WPF Fall, ich verstehe nicht, was zu setzen/wie man es benutzt.

Irgendeine Idee?

Antwort

1

Wir können es auf den Localhost setzen, damit der Authentifizierungsendpunkt den Authentifizierungscode an den Client umleiten kann. Und es wird das Token mit dem Auth-Code anfordern. Hier

ist ein Beispiel für Ihre Referenz:

AuthenticationContext context = new AuthenticationContext("https://login.microsoftonline.com/yourTenant/"); 
AuthenticationResult result = await context.AcquireTokenAsync("https://graph.windows.net/", "{clientId}", new Uri("http://localhost"), new PlatformParameters(PromptBehavior.Auto)); 
+0

Vielen Dank für Ihre Antwort. Mit Ihrem Beispiel, das Fenster für die Authentifizierung Eingabeaufforderung, aber wenn ich mein Konto und Validierung eingeben, habe ich den folgenden Fehler: AADSTS50011: Die Antwortadresse 'http: // localhost' stimmt nicht mit den Antwortadressen für die Anwendung konfiguriert : KANAX

+0

Sie müssen die "http: // localhost" als Antwortadresse für die App konfigurieren, die Sie im Azure-Portal registrieren. –

+0

@ FeiXue-MSFT - Ich hatte ein ähnliches Problem. Als ich die Anwendung für die Verwendung von localhost konfigurierte, kam eine neue Ausnahme von ADAL: 'AADSTS70002: Der Anfragetext muss den folgenden Parameter enthalten: 'client_secret oder client_assertion''. Aber es gibt keine Methode, die sowohl Client-Secret- als auch Plattform-Parameter akzeptiert. Kannst du hier helfen? – mikalai

Verwandte Themen