我们的后端服务器不支持HTTP PATCH方法(仅PUT).因此,我们无法从SCIM应用程序中正确取消分配用户.
当我尝试取消分配用户时,Okta SCIM似乎发出了PATCH请求(而不是PUT).在1563 SCIM文档说:
如果不支持修补程序,Okta也会执行PUT.
那么,问题是如何切换Okta SCIM应用程序来进行PUT而不是PATCH?
我想在 G Suite Marketplace 上发布一个应用程序,允许通过 SCIM 2.0 进行用户和组管理/配置。我需要去哪里进行配置?
2016 年的这篇文章让我认为这是可能的(https://gsuiteupdates.googleblog.com/2016/07/automatically-provision-users-with-scim.html),但我在 Google 文档或 Marketplace SDK 中找不到它?
目前,我们使用 SCIM 作为与企业客户使用的身份提供商集成的主要方法。不过,有些企业使用 GSuite 进行 SSO。我们当前在 Google Marketplace 中的应用程序不使用 SCIM,因此必须单独维护。
创建SCIM标准是为了通过定义用于表示用户和组的模式以及用于所有必要CRUD操作的REST API来简化云中的用户管理.
它旨在取代旧的SPML协议.
那里有"成熟"的C#库吗?
我用Google搜索的大部分内容都是针对Java的,否则看起来并不活跃.
更新:
回应评论:
这些库通常具有以下形式:
User = new User;
User.name = "name";
... etc ...
User.Create;
Run Code Online (Sandbox Code Playgroud)
换句话说,它通过使用模型用户隐藏了底层实现.这样您就不必担心实际协议的细节.
我正在尝试在 G Suite 中为我的 SCIM 实施应用程序设置用户配置。根据文档,这应该是一个相对简单的任务:确保 G Suite 了解/auth
端点/scim
,然后就完成了。
但关键是,我的应用程序中的“用户配置”选项并未处于活动状态(准确地说,是不可见的)。再次引用文档:
选择用户配置部分。仅当您的应用程序使用跨域身份管理系统 (SCIM) 规范时,您才会看到此选项。
问题是,在不知道“根”SCIM 端点的情况下,系统究竟如何理解这一点?规范是否规定了 SCIM 服务发现的一些常见端点 - 例如,服务器是否应该始终响应'/ServiceProviderConfig'
(而不是'/scim/v2/ServiceProviderConfig'
响应?)
我想使用 SCIM 配置我的 SaaS 应用程序和 Google Workspace(前 GSuite)。我没有找到任何这方面的文档。只是预配置应用程序的列表。
它似乎在Microsoft Azure AD和其他身份提供商(如 Okta 或 OneLogin)上得到了很好的支持。
PS:我对 SAML 配置(用于身份验证)不感兴趣。仅由用户配置。
我编写了一个符合 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"
}
]
}
Run Code Online (Sandbox Code Playgroud)
SCIM 协议“说”该属性active
接受布尔值(https://www.rfc-editor.org/rfc/rfc7643#section-4.1.1),因此遵循 PATCH 协议(https://www.rfc- editor.org/rfc/rfc6902#section-4.3)我期望一个布尔值而不是一个内部写入布尔值的字符串,因此预期的请求如下:
PATCH /Users/:id
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "Replace",
"path": "active",
"value": false
}
]
}
Run Code Online (Sandbox Code Playgroud)
所以问题是给定的值"False"
应该是false
。
这是 Azure 的错误还是我错过了什么?如果这是一个错误,我应该尝试解析字符串并最终提取布尔值吗?但如果我这样做,我就会超出标准。你是如何解决这个问题的?
我实现了SCIM API并与Azure集成.
当我在AzureAD中删除用户时,它不会发送DELETE请求.我尝试从应用程序以及目录中删除.
获取用户/ [userID],获取查询和POST /用户正常工作.此外,我也收到了PATCH请求,但由于我没有实现PATCH返回404.
为什么它不发送DELETE请求?根据Azure AD SCIM文档,它应发送DELETE请求.
AzureAD如何跟踪SCIM服务发送的用户的"Id"属性,它来自SCIM响应的"Id"属性还是Meta/Location属性中的Uri.这个问题的原因是,当我删除AzureAD中的用户时,它将如何知道用户的ID.
我在 AWS IAM Identity Center 中成功为来自 Google Workspace 的用户设置了自动配置。不幸的是,组根本没有同步。
现在,组的映射如下图所示:
假设组信息是一个多值 SAML 属性,当我在官方指南中找到这个要点时,我失去了希望:
目前,SCIM 未配置多值属性(例如给定用户的多个电子邮件或电话号码)。尝试使用 SCIM 将多值属性同步到 IAM Identity Center 将失败。为了避免失败,请确保为每个属性仅传递一个值。如果您的用户具有多值属性,请删除或修改 IdP 处 SCIM 中的重复属性映射,以连接到 IAM Identity Center。
这是否意味着组和组成员身份根本无法使用 SCIM 同步到 Identity Center?如果没有,我错过了什么?
预先感谢您的任何建议
当前的 Microsoft ADFS 2.0 服务器(或新的 ADFS 3.0 RTM)是否支持 SCIM 配置协议?如果没有,SPML 可能计划了哪一种配置协议?
有没有人在 Keycloak 中使用过 SCIM?如果是这样,你能指出我的文档吗?我用谷歌搜索过,它似乎不是受支持的配置。
scim ×10
scim2 ×3
azure ×2
saml ×2
.net ×1
adfs ×1
adfs2.0 ×1
amazon-iam ×1
c# ×1
google-apps ×1
identity ×1
keycloak ×1
okta ×1
okta-api ×1
provisioning ×1