Роли приложения не доставляются в токене доступа - PullRequest
1 голос
/ 18 марта 2020

В Azure Active Directory я регистрирую приложение и определяю роли приложения в манифесте следующим образом:

"appRoles": [
    {
        "allowedMemberTypes": [
            "User"
        ],
        "description": "Normal user access",
        "displayName": "User",
        "id": "a046aca0-a7c4-4c33-8377-e43c4d7bd89f",
        "isEnabled": true,
        "value": "User"
    },
    {
        "allowedMemberTypes": [
            "User"
        ],
        "description": "Full admin access",
        "displayName": "Admin",
        "id": "0204f02c-d752-48b5-8b8f-2f8ccb7f83d7",
        "isEnabled": true,
        "value": "Admin"
    }
],
"oauth2AllowIdTokenImplicitFlow": true,
"oauth2AllowImplicitFlow": true,

Когда пользователь получает токен доступа, роли также включаются. Все отлично работает.

Теперь мы создали еще один Azure Active Directory. Я зарегистрировал приложение и определил роли приложения точно так же, как и раньше. Однако роли не включены в токен доступа. Может ли кто-нибудь помочь мне справиться с этой проблемой?

1 Ответ

0 голосов
/ 19 марта 2020

Сначала проверьте, назначили ли вы пользователю роли. Вы можете обратиться к этому учебнику .

Во-вторых, я не уверен, имеете ли вы в виду токен доступа или токен идентификатора. Насколько я знаю, роль не будет отображаться в токене доступа. Это просто покажет в токене id. Вы можете использовать поток как предоставление кода авторизации или openID connect для входа пользователя. Ответ будет иметь id_token.

Вот еще один пост , который похож на эту проблему для вашей справки.

Кстати, если мы используем "client_credentials" в качестве типа предоставления, мы можем видеть роли разрешений (в разрешениях приложений), которые добавлены в разрешения API ( токен доступа содержит свойство roles). Но если мы используем тип предоставления «пароль», токен доступа не будет иметь этого свойства roles. Поэтому, пожалуйста, обратите внимание на тип гранта, который вы использовали.

Надеюсь, это поможет.

...