Что делает Test Connection в приложении Azure AD Enterprise?

Я нахожусь в процессе настройки Scim API с помощью Azure AD. Что делает это "Тестовое соединение" при настройке корпоративного приложения?

В моем случае моей конечной точкой API, которую я хочу настроить, является " https://myapi.company.com/api/v2", где URL-адреса ресурсов имеют вид " https://myapi.company.com/api/v2/scim/[Resource]". Я не включаю "scim" в URL-адрес клиента (согласно приложенному изображению), поскольку Azure AD добавляет его по умолчанию при отправке запросов (что немного странно). [AzureAD добавляет / scim / [Resource] например /scim/Users к предоставленному базовому URL.] [Ссылка] 1.

При попытке (нажмите "Проверить подключение" или "Сохранить без проверки подключения") " https://myapi.company.com/api/v2" для URL-адреса клиента не удается выполнить проверку подключения.

Сообщение об ошибке "Вы ввели неверные учетные данные. Пожалуйста, подтвердите, что вы используете правильную информацию для учетной записи администратора. '. Что не имеет никакого смысла для меня.

Как эксперименты, когда попробуйте ' https://myapi.company.com/api/v2/scim/', это успешно.

При попытке " https://myapi.company.com/api/v2" это успешно.

Все 3 URL выше дают 404 при попытке почтальона или браузера. Не могу понять, что AzureAD делает с тестовым соединением.

Что делает Test Connection

0 ответов

Тестовое соединение отправляет такой запрос:

GET /Users?filter=userName eq "non-existent user"

и ожидает такого ответа:

HTTP/1.1 200 OK
{
    "schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"],
    "totalResults": 0,
    "Resources": [],
    "startIndex": 1,
    "itemsPerPage": 20
}

https://docs.microsoft.com/en-us/azure/active-directory/app-provisioning/use-scim-to-provision-users-and-groups

Когда вы нажимаете Test Connection пара запросов будет отправлена ​​в Tenant URL(Конечная точка SCIM):

GET /scim/v2/Groups?excludedAttributes=members&filter=displayName+eq+%22AzureAD_Test-d3951745-df3d-40ae-a0a4-cc3099c34c47%22
GET /scim/v2/Users?filter=userName+eq+%22AzureAD_Test-d3951745-df3d-40ae-a0a4-cc3099c34c47%22

Настоящий displayName а также userName запрошенные генерируются случайным образом, поэтому пустой ListResponse ожидается (с кодом состояния 200 OK):

{
    "schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"],
    "totalResults": 0,
    "Resources": [],
    "startIndex": 1,
    "itemsPerPage": 20
}

Это поведение упоминается в документации:

Microsoft Azure AD отправляет запросы на выборку случайного пользователя и группы, чтобы убедиться, что конечная точка и учетные данные действительны. Это также выполняется как часть потока тестового подключения на портале Azure.

Другие вопросы по тегам