私たちのアプリケーションでは、グループに権限を割り当てることができます。つまり、すべてのユーザーについて、グループ メンバーシップを確実に判断する必要があります。ユーザーは、ADAL で定期的に取得したトークンを提示します (一部は .NET を使用し、他は NodeJS を使用し、他は CLI を使用します)。
一部のユーザーは、次のクレームでトークンを送信しているようです:
"hasgroups": true,
この主張は、Azure AD トークンのリファレンスページに記載されています。
そのためのテスト ケースを追加したいと考えていますが、手順hereおよびhereを実行すると、常に次のクレームを持つトークンになります。
"_claim_names": {
"groups": "src1"
},
"_claim_sources": {
"src1": {
"endpoint": "https://graph.windows.net/{redacted}/users/{redacted}/getMemberObjects"
}
},
セットアップの何が問題になっていますか? なぜ私たちはhasgroups
主張を得ることができないのですか?
追加情報を次に示します。
- アプリケーションの種類はネイティブです (WebApi ではありません)。
- マニフェストは言う
"oauth2AllowImplicitFlow": true
。 - アプリケーションには、Azure Key Vault へのアクセス権が付与されます。
次のコードを使用してトークンを取得します (C# の場合)。
var userCredential = new UserCredential( _userName, _password );
result = context.AcquireToken( _resource, _clientId, userCredential );
どこ:
_userName
_password
多くのグループを持つユーザーからのものです。_clientId
は、ネイティブ アプリケーションのアプリケーション ID です"oauth2AllowImplicitFlow": true
。._resource
ですhttps://vault.azure.net
。
トークンは正しく発行されます。唯一の問題は、の代わりに_claim_names
andが表示されることです。_claims_sources
hasgroups