2017-11-23 11 views
0

グループライフサイクルポリシーを特定のグループに適用するAzure関数を作成しようとしましたが、アプリケーションのアクセス許可で失敗します。Microsoftグラフのライフサイクルポリシーがアプリケーションのアクセス許可で動作しない

ユーザー名とパスワードの認証を使用すると、問題なく動作します。

public static string GetAccessTokenForUser(string resourceUri, string aadDomain, string userName, string password) 
    { 
     var powershellClientId = "12128f48-ec9e-42f0-b203-ea49fb6af367"; 
     var azureADAuthority = $"https://login.microsoftonline.com/{aadDomain}/oauth/v2/authorize"; 
     var userCreds = new UserPasswordCredential(userName, password); 
     var authContext = new AuthenticationContext(azureADAuthority, true); 
     var authResult = AuthenticationContextIntegratedAuthExtensions.AcquireTokenAsync(authContext, resourceUri, powershellClientId, userCreds).GetAwaiter().GetResult(); 
     return authResult.AccessToken; 
    } 

ClientId en ClientSecretを使用すると、常に401 Unauthorized errorが返されます。

public static string GetAccessTokenForClientId(string resourceUri, string aadDomain, string clientId, string clientSecret) 
    { 
     var azureADAuthority = $"https://login.microsoftonline.com/{aadDomain}/oauth/v2/authorize"; 
     var clientCreds = new ClientCredential(clientId, clientSecret); 
     var authContext = new AuthenticationContext(azureADAuthority, true); 
     var authResult = authContext.AcquireTokenAsync(resourceUri, clientCreds).GetAwaiter().GetResult(); 
     return authResult.AccessToken; 
    } 

その後https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/grouplifecyclepolicy_listで、私は前の関数から

GET https://graph.microsoft.com/beta/groupLifecyclePolicies 

をアクセストークンを使用してGET要求を行うドキュメントは、アプリケーションの権限が働くべきであると述べています。アクセストークンには必要なスコープが含まれています。

誰でも確認できますか?

+0

コード、設定ファイル、またはコミュニティがあなたの質問を解決するのに役立つような詳細を追加できますか? – 3Dos

+0

コードサンプルを追加しました。 –

答えて

0

私はまったく同じ問題を抱えています。O365のグループを管理するアプリケーションで、制限されたユーザー権限で作業し、アプリケーション権限でO365 APIリクエストを実行しました。

私は、アプリケーションがDirectory.ReadWrite.Allを使用してアプリケーションの権限で動作していることをテストしましたが、12月中旬〜12月中旬に正常に動作しました。残念ながら、昨日テストしたとき、不足している特権エラーで失敗しました。

私はthis commitが何が起こったかを示すグラフAPIドキュメントを見つけることができました。

グラフAPIチームの誰でもすぐにいつでもこの機能を返す予定がありますか?これには多くの有効な用途があります。

関連する問題