В Azure Active Directory я создал приложение, в файле манифеста я обновил appRoles
следующим значением:
"appRoles": [
{
"allowedMemberTypes": [
"User"
],
"displayName": "Client manager",
"id": "bf77e391-0bbf-4e33-854b-a384a5ac0630",
"isEnabled": true,
"description": "Client manager can manage all client actions.",
"value": "ClientManager"
}]
Я обновил пользователя так, что моя назначенная роль больше не Default Access
, а Client manager
С помощью Graph api я пытаюсь получить эту назначенную роль.
Я пробовал этот URI, но по какой-то причине он не вернет мои роли.
https://graph.microsoft.com/beta/me/appRoleAssignments?$filter=resourceId eq 04dcaab1-7219-4689-8510-4672e957ac11$select=appRoleId
Но ответ таков:
{
"error": {
"code": "BadRequest",
"message": "Invalid filter clause",
"innerError": {
"request-id": "ce3cb456-956b-41c5-84a2-cdcdfe1ac3c5",
"date": "2018-11-05T20:54:08"
}
}
}
Я мог бы создать обходной путь, запрашивающий все мои роли для всех моих приложений, но я бы хотел этого избежать. Это закончится следующим URI:
https://graph.microsoft.com/beta/me/appRoleAssignments?$select=resourceId,appRoleId
и приводит к этому json, где мне нужно отфильтровать мой applicationid.
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#appRoleAssignments(resourceId,appRoleId)",
"value": [
{
"appRoleId": "00000000-0000-0000-0000-000000000000",
"resourceId": "667cc3aa-00b9-4526-bde5-b81312ed5afb"
},
{
"appRoleId": "00000000-0000-0000-0000-000000000000",
"resourceId": "64b92ac1-4a56-478c-8774-5c584fb200e5"
},
{
"appRoleId": "bf77e391-0bbf-4e33-854b-a384a5ac0630",
"resourceId": "04dcaab1-7219-4689-8510-4672e957ac11"
}
]
} * * тысяча двадцать-один
Я уже пробовал несколько решений, предложенных для StackOverflow, но по какой-то причине все фильтры eq
не работают. Я проверяю свой запрос с помощью Graph Explorer . Мой желаемый результат должен быть примерно таким:
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#appRoleAssignments(appRoleId)",
"value": [
{
"appRoleId": "bf77e391-0bbf-4e33-854b-a384a5ac0630"
}
]
}