2017-02-21 7 views
0

私は、Microsft Graphを使用してADグループに対してUSERを認証します。 ADグループのメンバーだけがAPIにアクセスできます。この承認を行うには、どのMicrosoft Graphクエリ(API URL)が必要ですか?または他のオプションもありますか?Microsoft GraphのADグループのユーザーを承認する方法

これについてもベストプラクティスをお勧めします。

ご協力いただきありがとうございます。 APIを使用すると、内蔵のOpenIDの接続機能を使用して、保護したいそれらのAPIコントローラまたはメソッドに定期的[Authorize]属性を使用することができますASP.NETを使用している場合

よろしく、 デブ

答えて

0

comprehensive sampleがあります。

このサンプルでは、​​通常のOpenID Connect authを使用し、JWTトークンクレームを使用してユーザーのグループメンバーシップを取得しています。グループをJWTトークンに含めることができない場合、トークンにはそれらを取り出すことができる場所へのリンクが含まれます。これは、サンプルのClaimHelper.csファイルで処理されます。

JWTトークンでグループクレームを取得するには、デフォルトでは存在しないため、サンプルの設定手順でstep 3に従うことを忘れないでください。

AADのグループオブジェクトIDをASP.NETのロールに配置することもできます。[Authorize]のように、[Authorize(Roles="217ea9e4-0350-4a2d-b805-d71317fa0245")]のような属性を使用できます。ここでGUIDはメンバーシップが必要なグループのobjectIDです。

最後の部分を達成するには、最初にマニフェストにグループクレームを追加し(上記の手順3)、OpenIdConnectAuthenticationOptionsTokenValidationParametersを追加する必要があります。ここで、ロールを定義するクレームタイプを定義します(Startup.Auth .csファイル):あなたは[Authorize]属性でグループのオブジェクトIDを必要とするので、

new OpenIdConnectAuthenticationOptions 
    { 
     // add this: 
     TokenValidationParameters = new TokenValidationParameters() 
     { 
      RoleClaimType = "groups" 
     }, 
     // end added code 
     ClientId = ConfigHelper.ClientId, 

後者は、おそらくベストプラクティスではありません。

+0

ありがとうございました。今私はどこで私はRoleCliamType = "グループ"、StartUp.Auth.csのコードが見つかりませんでした言及に立ち往生しています。 –

+0

サンプルStartUp.Auth.csにRoleClaimTypeがありません –

+0

スニペットの '' OpenIdConnectAuthenticationOptions''に '' TokenValidationParameters''プロパティーを追加しましたので、より明確です。 – RasmusW

関連する問題