Мы зарегистрировали Azure AD App
и обновили файл манифеста, включив в него 2 роли приложения, после чего назначили пользователя для роли приложения.
{
"allowedMemberTypes": [
"User"
],
"description": "Approvers can approve the information",
"displayName": "Approver",
"id": "8f29f99b-5c77-4fba-a310-4a5c0574e8ff",
"isEnabled": true,
"lang": null,
"origin": "Application",
"value": "approver"
}
Файл манифеста также имеет,
"oauth2AllowIdTokenImplicitFlow": true,
"oauth2AllowImplicitFlow": true,
"groupMembershipClaims": "All",
В приложении AAD включены ID Token
и Access Token
В Azure API Management
мы включили OAuth2
со следующими свойствами:
- Код авторизации
- Механизм отправки токенов доступа: заголовок авторизации
- Идентификатор клиента / секретный ключ, полученный из приложения AAD
Когда мы авторизируемся на портале разработчика и протестируем API, мы можемполучить токен AAD JWT;однако Roles
, назначенные пользователю, не включаются в токен, даже если пользователю уже назначена роль приложения.
{
"aud": "https://management.core.windows.net/",
"iss": "https://sts.windows.net/xxxxxxxxxxxxx/",
"iat": 1559283639,
"nbf": 1559283639,
"exp": 1559287539,
"acr": "1",
"aio": "xxxxxxxxxx",
"amr": [
"rsa",
"mfa"
],
"appid": "dbccd1a6-1dab-4013-8601-ee6054b5a12",
"appidacr": "1",
"deviceid": "d1c0faa8-xxxx-xxxx-xxxx-7f2a791387a7",
"family_name": "Gxxxx",
"given_name": "Pxxxxxxx",
"name": "Pxxxxxxx Gxxxx",
"oid": "741232d8-xxxx-xxxx-xxxx-aed51374ec7a",
"scp": "email offline_access openid profile",
"sub": "",
"tenant_region_scope": "WW",
"tid": "72f988bf-xxxx-xxxx-xxxx-xxxxxxxxx",
"unique_name": "email@host.com",
"upn": "email@host.com",
"uti": "rMaJcHJTLUKFBvkPXLpDAQ",
"ver": "1.0"
}
Этот токен генерируется из пользовательского соединителя PowerApps с использованием OAuth2
backend API
ожидает ролиинформация также.
Что-то не так в конфигурации?Как мы также получаем Application Roles
для пользователя?