2016-07-19 6 views
0

ADAL(Active Directory認証ライブラリ)を使用してWPFアプリケーションでユーザーを認証しようとしています。私は次のコードを使用していWPF ADAL AcquireTokenAsync

:リダイレクトURI:AcquireTokenAsync方法

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>"); 

は三番目のパラメータを必要としています。

ウェブアプリケーションの場合、このパラメータの使用を理解しています。

しかし、WPFの場合、私は何を設定するべきか、それをどのように使用するかを理解していません。

答えて

1

authenticateエンドポイントが認証コードをクライアントにリダイレクトできるように、これをlocalhostに設定できます。そしてそれは認証コードを使ってトークンを要求するでしょう。お返事のための

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

ありがとう:ここ

はあなたの参照のための一例です。 サンプルでは、​​認証プロンプトのウィンドウが表示されますが、アカウントを入力して検証すると、次のエラーが表示されます。 AADSTS50011:応答アドレス 'http:// localhost'がアプリケーション用に構成された返信アドレスと一致しません: KANAX

+0

Azureポータルに登録するアプリの返信アドレスとして「http:// localhost」を設定する必要があります。 –

+0

@ FeiXue-MSFT - 私も同様の問題がありました。ローカルホストを使用するようにアプリケーションを設定したとき、ADALから新しい例外が発生しました: 'AADSTS70002:リクエスト本体に 'client_secretまたはclient_assertion'というパラメータが含まれている必要があります。しかし、クライアントの秘密とプラットフォームの両方のパラメータを受け入れる方法はありません。ここで助けてくれますか? – mikalai

関連する問題