gpt4 book ai didi

Azure 用户/组预配 SCIM bool 值问题

转载 作者:行者123 更新时间:2023-12-04 10:54:56 25 4
gpt4 key购买 nike

我编写了一个符合 SCIM 标准 ( https://www.rfc-editor.org/rfc/rfc7644 ) 的应用程序,但与 Azure 集成后,我可以看到,如果禁用该功能(Azure 发送的请求),它就无法更新用户如下:

PATCH /Users/:id
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "Replace",
"path": "active",
"value": "False"
}
]
}

SCIM 协议(protocol)“说”属性 active 接受 bool 值 ( https://www.rfc-editor.org/rfc/rfc7643#section-4.1.1 ),因此遵循 PATCH 协议(protocol) ( https://www.rfc-editor.org/rfc/rfc6902#section-4.3 ) 我期望 bool 值而不是带有 bool 值的字符串写在里面,所以预期的请求如下:

PATCH /Users/:id
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "Replace",
"path": "active",
"value": false
}
]
}

所以问题是给定值“False”应该是false

这是 Azure 的错误还是我遗漏了什么?如果这是一个错误,我应该尝试解析字符串并最终提取 bool 值吗?但如果我这样做,我就会超出标准。您是如何解决这个问题的?

最佳答案

我还花了很多时间试图弄清楚 Azure 是否符合 SCIM 规范,答案是不符合。

它们为 PATCH 请求发送的默认值确实是字符串,而不是 User JSON 架构定义的 bool 值。

您可以通过以下方式覆盖发送/映射到 SCIM 架构中的值:

  1. 进入您的配置应用
  2. 映射 > 将 Azure Active Directory 用户同步到 customappsso(此处的名称可能与您的目录中的名称不同)
  3. 查找 Switch([IsSoftDeleted], "False", "True", "True", "False")
  4. 替换为 Switch([IsSoftDeleted], , false, true, true, false)(注意额外的逗号。)
  5. 点击“确定”并保存

请注意,保存后仍会看到 bool 值周围的引号,但 PATCH 请求将正确发送。

查看截图以供引用 enter image description here enter image description here enter image description here

关于Azure 用户/组预配 SCIM bool 值问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59264809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com