Как я могу запросить пользовательские атрибуты Azure AD, содержащие дефисы? - PullRequest
1 голос
/ 21 октября 2019

Существуют атрибуты Azure AD для пользователей, имена которых включают дефисы. Например, msDS-cloudExtensionAttribute1 или msDS-principalName. Однако, если я пытаюсь запросить их из Microsoft Graph в $select или $filter, я получаю ошибки:

https://graph.microsoft.com/v1.0/users/?$select=id,msDS-principalName

{
    "error": {
        "code": "BadRequest",
        "message": "Parsing Select and Expand failed.",
        "innerError": {
            "request-id": "...",
            "date": "..."
        }
    }
}

или

https://graph.microsoft.com/v1.0/users/?$filter=msDS-principalName eq 'abc'

{
    "error": {
        "code": "BadRequest",
        "message": "Invalid filter clause",
        "innerError": {
            "request-id": "...",
            "date": "..."
        }
    }
}

Я не могу найти ни одногодокументация по экранированию дефисов или иным образом успешным запросам таких атрибутов.

Вещи, которые не работают:

  1. Экранирование как %2D
  2. Экранирование с обратной косой чертой
  3. Опущение дефиса

1 Ответ

1 голос
/ 22 октября 2019

msDS-cloudExtensionAttribute1 является атрибутом в AD по обещаниям. Если вы хотите получить пользователя с этим атрибутом в Azure AD, вам нужно использовать Azure AD Connect для синхронизации атрибута msDS-cloudExtensionAttribute1как extension_3e2cd06ca3494546888b069a891b4bb6_msDS_cloudExtensionAttribute1 для Azure AD. В Azure AD дефисы недопустимы с именем атрибута расширения, оно должно соответствовать регулярному выражению [a-zA-Z_][0-9a-zA-Z_]*.

enter image description here

enter image description here

Подробнее о синхронизации см. Здесь ссылка . После синхронизации вы можете использовать Microsoft Graph, чтобы получить пользователя с атрибутом расширения, как показано ниже.

GET https://graph.microsoft.com/v1.0/users/<object-id>?$select=extension_3e2cd06ca3494546888b069a891b4bb6_msDS_cloudExtensionAttribute1

enter image description here

или

GET https://graph.microsoft.com/v1.0/users?$select=extension_3e2cd06ca3494546888b069a891b4bb6_msDS_cloudExtensionAttribute1
...