2016-11-14 6 views
0
  • 私はサービスによってユーザーの代わりに呼び出されているwebapiを持っています。
  • ユーザーIDは持っていますが、認証トークンはありません。

私の目的は、このユーザーが指定されたグループに所属しているかどうかを確認することです。特定のユーザーとしてAAD Graph APIを照会してください

私は、サービスアカウントを使用してグラフに接続しようとしていますが、私はどのようにわかりません。私はUserPasswordCredentialを見てみましたが、AcquireTokenAsyncはそれを引数として取っていませんが、それはUserAssertionを持っています。

ご協力いただければ幸いです。

+0

なぜそのユーザーとしてクエリしますか?なぜあなたはgetMemberGroupsをクエリできませんか? https://msdn.microsoft.com/en-us/library/azure/ad/graph/api/functions-and-actions#getMemberGroups – 4c74356b41

+0

@ 4c74356b41サービスアカウントとしてクエリを実行して、そのユーザーがグループ。私はそのユーザーとして質問したくありません。 – ohmusama

答えて

2

.Net Frameworkを使用して開発している場合、AcquireTokenAsyncUserPasswordCredentialを使用してメッシュを提供します。私はバージョン3.13.5.907 Microsoft.IdentityModel.Clients.ActiveDirectoryを使用しています

AuthenticationContext authenticationContext = new AuthenticationContext(UserModeConstants.AuthString, false); 
string resrouce = ""; 
string clientId = ""; 
string userName = ""; 
string password = ""; 
UserPasswordCredential userPasswordCredential = new UserPasswordCredential(userName, password); 
var token= authenticationContext.AcquireTokenAsync(resrouce, clientId, userPasswordCredential).Result.AccessToken; 

:ここ

はあなたの参照のためのサンプルコードです。また、この方法は、Azure ADに登録するネイティブクライアントアプリケーションでのみ動作します。Azure ADは資格情報を提供しないためです。 Webアプリケーション/ Web APIに対応したい場合は、次のように直接HTTPリクエストを行うことができます。

POST: https://login.microsoftonline.com/xxxxx.onmicrosoft.com/oauth2/token 

Content-Type: application/x-www-form-urlencoded 
resource={resource}&client_id={clientId}&grant_type=password&username={userName}&password={password}&scope=openid&client_secret={clientSecret} 
+0

これは、アプリケーションに許可を与えるために私のサービスアカウントが必要な場合を除き、機能します。これを簡単に行う方法に関する考え。 – ohmusama

+0

アプリケーションがサービスアカウントの代わりにリソース自体にアクセスするようにしたいのですか?私が正しく理解していれば、** Resource Owner Password Credentials **を使用する代わりに、** Client Credentials **を使用する必要があります。このフローの詳細は、[こちら](https://graph.microsoft.io/en-us/docs/authorization/app_only)のリンクを参照してください。 –

+0

ああ、いいえ、私のアプリケーションには、必要な権限を与えられていないので、サービスアカウントとしてログインしようとしていましたが、サービスアカウントがアプリケーションを代理して動作する権限を与えていません。 :) – ohmusama

関連する問題