。
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)、OpenIdConnectAuthenticationOptions
にTokenValidationParameters
を追加する必要があります。ここで、ロールを定義するクレームタイプを定義します(Startup.Auth .csファイル):あなたは[Authorize]
属性でグループのオブジェクトIDを必要とするので、
new OpenIdConnectAuthenticationOptions
{
// add this:
TokenValidationParameters = new TokenValidationParameters()
{
RoleClaimType = "groups"
},
// end added code
ClientId = ConfigHelper.ClientId,
後者は、おそらくベストプラクティスではありません。
ありがとうございました。今私はどこで私はRoleCliamType = "グループ"、StartUp.Auth.csのコードが見つかりませんでした言及に立ち往生しています。 –
サンプルStartUp.Auth.csにRoleClaimTypeがありません –
スニペットの '' OpenIdConnectAuthenticationOptions''に '' TokenValidationParameters''プロパティーを追加しましたので、より明確です。 – RasmusW