问题标签 [scim]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
402 浏览

rest - 使用 scim PATCH 删除多值用户属性的成员

我有一个用户商店,其中用户具有电子邮件等多值属性。因此,用户将具有称为电子邮件的属性,其中可能包含 0 到多个电子邮件。

假设我需要从用户电子邮件列表中删除“1@xx.x”电子邮件地址。我可以使用用户 PATCH 来完成吗?如果是这样,我应该发送什么请求?

0 投票
1 回答
685 浏览

provisioning - Okta 从 OAN App-to-Be 向云服务提供“On - Premises”SCIM

我正在开发我们的云服务和 Okta 的 IdP 之间的集成。这将成为最终用户可以通过 Okta 界面自行安装的官方 OAN 应用程序。在项目的开发阶段,我们使用的是 Okta Developer Preview 帐户。我们的应用通过它公开的 SCIM REST API 接受供应流量。Okta 告诉我们,他们不支持将 SCIM 直接从其生产应用程序发送到集成合作伙伴 SCIM 服务器,并告诉我们将 SCIM 流量连接到我们的应用程序的方法是使用他们可下载的 On-Premises Provisioning Java 连接器。我们已经在 CentOS 机器上安装了连接器并将其连接到我们的预览帐户,该帐户工作正常并按预期向我们发送 SCIM 消息。

所以,问题来了:在设置 On-Premises Provisioning Connector 时,我们必须通过配置文件将连接器与我们的特定 Okta Preview 帐户相关联,并通过 Okta Admin UI 接受和关联它。我们计划将应用程序放入 Okta 应用程序网络,其中将为每个最终用户提供一个唯一的密钥,该密钥将在应用程序配置中进行参数化,并用作我们 Okta OAN 应用程序每次安装的 SCIM 基本 URL 的一个组件。但是我们只有一个本地配置连接器,而且似乎我们必须将它指向一个特定的 Okta 帐户,并且为我们的许多客户帐户中的每一个设置单独的本地配置连接器守护程序是完全不切实际的。我们应该如何从每个客户那里获得 SCIM 流量'

如果 Okta 可以直接向我们发送 SCIM,那就容易多了。或者,我想知道我们是否可以以某种方式编写自己的“本地供应连接器”,但我不知道它在另一端使用什么协议。谢谢!

0 投票
1 回答
187 浏览

wso2is - 在 WSO2 IS 5.0 中使用 SCIM 删除组的问题

我正在使用 IS 5.0,我在 wso2 IS 中使用 SCIM 服务删除了一个名为“开发者”的组,但未从表 IDN_SCIM_GROUP 中删除条目。当获取同一用户的详细信息时出现错误

所以我再次使用同名“开发者”创建了组,但出现以下错误

感谢您的任何建议。

0 投票
3 回答
114 浏览

wso2 - WSO2is:使用 SCIM 命令获取异常自定义消息

我正在为 wso2is 编写一个简单的自定义用户存储管理器。

这是代码:

代码工作。当我尝试从界面插入数量大于 5 的用户时,界面会给我异常消息“已达到全局用户的最大数量”。

但是,当我尝试通过 SCIM 在 5 个用户上添加用户时,我收到以下消息:

好吧,在这一点上,我需要获得正确的消息异常“达到全局用户的最大数量”,而不是通用消息“添加用户时出错”。

有没有办法做到这一点?

谢谢。

0 投票
2 回答
196 浏览

mysql - WSO2 identity server: phone fields using SCIM don't accept numbers

I'm using wso2 identity server version 5.0.0 with user store on mysql. When I try to insert user with phone numbers, the phone number are not stored.

the result is:

if I put a char in the phone number, it works fine:

the result is:

Why? a phone number... is a number!

0 投票
2 回答
467 浏览

ldap - 在 UnboundID 中通过 SCIM 返回用户照片 url

在 SCIM 核心模式中,定义了一个简单的多值属性“photos”来保存用户照片的 url。

在 UnboundID 数据存储配置目录中,scim-resources.xml 文件在用户资源下注释掉了以下内容:

规范中的进一步下方是示例输出:

我有填充了 jpegPhoto 属性的用户条目。问题:

  1. UnboundID 是否已经定义了一个端点来访问这些照片?我不想要 jpegPhoto 的编码二进制字符串值
  2. 如果存在这样的端点(或者我创建了一个端点),那么我是否需要编写一个转换类并在元素的<subMapping>子元素中引用它<canonicalValue>

如果在某处记录了如何执行此操作,我无法找到它。

任何指导表示赞赏。

授予

0 投票
1 回答
1732 浏览

c# - .NET 中的 SCIM 反序列化问题

作为 SCIM(跨域身份管理系统)标准的新手,请原谅我的无知,因为我正处于学习曲线上,试图弄清楚如何发出干净/简单的请求来配置用户、删除用户和修改用户。

我正在尝试使用 C#/.NET 通过 SCIM 为用户发出 HTTP REST 请求,使用System.Net.Http.HttpClient

https://msdn.microsoft.com/en-us/library/system.net.http.httpclient(v=vs.110).aspx

我可以成功地做到这一点并从服务器获得 JSON 响应,但是为了轻松读取响应对象并对其进行操作,我想反序列化它。经过大量阅读尝试使用类似的东西后JsonConvertdynamic我偶然发现了一个似乎暗示有用的 Microsoft nuget 库。可悲的是,似乎没有任何文档*

更新: 其中一位作者更新了 nuget 页面,其中包含指向博客文章的链接,该链接在某种程度上解释了使用情况。

Microsoft.SystemForCrossDomainIdentityManagement

https://www.nuget.org/packages/Microsoft.SystemForCrossDomainIdentityManagement/

我试图从中获取数据的 SCIM 提供商是 Facebook,使用他们在其网站上发布的示例来通过电子邮件获取用户:

https://developers.facebook.com/docs/facebook-at-work/provisioning/scim-api#getuserbyemail

这是 C# 中的代码示例,它尝试从 SCIM 服务获取用户并对其进行反序列化。我发现当queryResponse填充属性时,我返回的内容被正确反序列化,但是Core1EnterpriseUser这是第一个也是唯一的资源对象,具有空/默认属性。

这是我查询时服务返回的 JSON 示例:

更新:

我正在与该项目的一位作者进行对话,他亲切地向我指出了这篇博文:

http://blogs.technet.com/b/ad/archive/2015/11/23/azure-ad-helping-you-adding-scim-support-to-your-applications.aspx

他还更新了现在包括对 SCIM v1 的支持的 nuget 库,还指出由于 JSON 数据表明 Facebook 使用的版本是 v1:"urn:scim:schemas:core:1.0"所以现在我可以使用Core1而不是尝试使用Core2类(我已经更新了上面的问题使用Core1EnterpriseUser)。

我目前仍然无法正确地反序列化我的回复,并将在我拥有的更多信息中更新问题。

同样,如果很明显它不容易工作,我不必使用这个库,因为我知道关于 nuget 的简短描述表明它是为 Azure AD 创建

但是,我将不胜感激有关如何/应该完成此类事情的任何建议,因为我确信肯定有很多人在使用 SCIM - 您如何解析您的回复/生成您的请求,以便您拥有实际的对象?您可以自动解析模式的响应以使用正确的属性来扩充对象吗?

我昨晚很晚才起床,手工制作了一些模型类来处理响应对象——我似乎确实在工作。如果我无法让 nuget 库正常工作(首选选项),那么我将不得不自己使用。:/

再次感谢彼得斯基

0 投票
2 回答
255 浏览

wso2 - WSO2 身份服务器 SCIM 授权问题

WSO2 IS 5.0.0.SP1 由 PostgreSQL 支持,还有另一个应用程序使用 SCIM 服务读取用户信息 (filter=userNameEq...)

一切正常,但在一定时间后,服务返回“用户未授权..”响应,并带有单个错误级别日志行。从那一刻起,所有后续调用都失败,并显示“404 用户未授权”。即使我使用管理员帐户登录,我也没有访问权限。这种状态需要几分钟,然后一切似乎又恢复了。

我们将响应消息跟踪到检查授权的 SCIM 服务实现。但是我们无法找到问题的根本原因(怀疑某些异常已被悄悄删除,缓存清理清理的次数超出了应有的范围,...)

任何提示/想法表示赞赏。

及时行乐

加布里埃尔

0 投票
2 回答
2129 浏览

schema - SCIM 2.0 的架构扩展

我们有一个身份提供者用户注册表和一个 SOAP Web 服务,供应用程序读取/写入用户配置文件。现在我们还计划添加一个 SCIM 接口。

我们发现核心用户模式涵盖了基本的属性集,但是我们现有的系统对相同的属性有不同的命名约定。

例如,说 USERTELEPHONENUMBER、USERSTREETADDR1 等等。

考虑到大量应用程序已经在使用这种命名约定,我们希望继续使用 SCIM 2.0。

鉴于我们可以扩展核心用户模式,

1)我们可以选择不使用核心模式中的任何属性吗?如果有效负载包含这些属性,我们是否可以在服务器端简单地忽略它们,只处理自定义模式属性?

一个示例用户文档 -

2)我们可以自己定义一个新的资源,定义一个新的核心模式。

这些选项中的哪一个是更清洁的方式?

0 投票
2 回答
410 浏览

salesforce - 是否可以通过 externalId 更新/删除用户

我们正在尝试开发一个启用 SCIM 的供应系统,用于将数据从企业云订阅者 (ECS) 供应到 Salesforce(云服务提供商-CSP)。我们遵循 SCIM 1.1 标准。

我们能做什么:

我们能够使用 Salesforce 自动生成的 userId 字段对用户对象执行 CRUD 操作

确切的问题:

我们无法使用 ECS 提供的 externalId 更新/删除用户对象。尝试如下...但它不工作,Unknown_Exception被抛出...

请注意,由于某些合规性原因,无法将 Salesforce 用户 ID 存储在 ECS 的数据库中。所以我们必须完全依赖 externalId 。

可能的解决方法:

Step1:根据 Salesforce 中的 externalId 读取 userId Step2:使用 Step1 中获取的 salesforce UserId 更新 User 对象。但是这两个步骤的过程肯定会降低性能。

有什么方法可以通过 externalId 更新/删除用户,请您指导我们.. 非常感谢....