Test Connection在Azure AD Enterprise应用程序中执行的操作是什么?

时间:2017-03-08 03:14:04

标签: azure azure-active-directory scim2

我正在使用Azure AD配置Scim API。 这是什么"测试连接"在配置企业应用程序时做什么?

在我的情况下,我要配置的API端点是" https://myapi.company.com/api/v2"资源网址的格式为" https://myapi.company.com/api/v2/scim/[Resource]"。我不会包括“scim'在租户URL(根据附加的图像)中,Azure AD在发送请求时默认添加(在某种程度上有点奇怪)。 [AzureAD添加/ scim / [资源],例如/ scim /用户提供的基本URL。] [参考] 1

当我尝试时(点击'测试连接'或尝试保存而不测试连接)' https://myapi.company.com/api/v2'租户URL测试连接失败。

错误消息'您似乎输入了无效凭据。请确认您使用的是管理帐户的正确信息。'。这对我没有任何意义。

作为实验, 在尝试' https://myapi.company.com/api/v2/scim/'它很成功。

尝试' https://myapi.company.com/api/v2'它很成功。

从Postman或浏览器尝试时,上面的所有3个URL都给出了404。 无法理解AzureAD对测试连接的作用。

What does Test Connection do?

2 个答案:

答案 0 :(得分:1)

测试连接发送如下请求:

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#get-user-by-query---zero-results

答案 1 :(得分:0)

当您按下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

所请求的实际displayNameuserName是随机生成的,因此期望为空的ListResponse(状态码为200 OK):

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

docs中提到了此行为:

Microsoft Azure AD发出请求以提取随机用户和组以 确保端点和凭据有效。也做完了 作为Azure门户中“测试连接”流程的一部分。