Получение роли пользователя AAD в приложении Azure API Management - PullRequest
0 голосов
/ 31 мая 2019

Мы зарегистрировали 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

Custom Connector

backend API ожидает ролиинформация также.

Что-то не так в конфигурации?Как мы также получаем Application Roles для пользователя?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...