我正在使用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对测试连接的作用。
答案 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
}
答案 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
所请求的实际displayName
和userName
是随机生成的,因此期望为空的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门户中“测试连接”流程的一部分。