我们正在开发SCIM API,在OneLogin和我们的应用程序之间的集成测试期间,我们总是会遇到错误,可以通过以下步骤重现:
我可以验证我们的API已被调用,以下是与此流程相关的2个SCIM Web请求:
GET https://appurl/svc/scim/v1/Users?filter=userName+eq+"xy%40email.com"
{
"schemas": [
"urn:scim:schemas:core:1.0"
],
"totalResults": 1,
"itemsPerPage": 1,
"startIndex": 1,
"Resources": [
{
"userName": "xy@email.com",
"emails": [
{
"primary": true,
"value": "xy@email.com"
}
],
"id": "94724df5-2338-45a3-8b96-0f68afd273d4",
"schemas": [
"urn:scim:schemas:core:1.0"
]
}
]
}
GET https://appurl/svc/scim/v1/Users/94724df5-2338-45a3-8b96-0f68afd273d4
{
"userName": "xy@email.com",
"emails": [
{
"primary": true,
"value": "xy@email.com"
}
],
"id": "94724df5-2338-45a3-8b96-0f68afd273d4",
"schemas": [
"urn:scim:schemas:core:1.0"
]
}
在第二次GET请求后,OneLogin返回"内部供应错误"
回复有问题吗?
谢谢你, 彼得
答案 0 :(得分:1)
我发现了错误。在OneLogin中,firstName和lastName是必需的,但是在我们的应用程序中它们不是。当OneLogin获取我们的用户时,它无法解析结果,因为我们没有返回名字和姓氏。
答案 1 :(得分:0)
我们实际上做需要这些值来实现我们产品中的某些功能:
具体来说,我们具有使目标应用程序中的所有用户都能获得的功能,然后我们允许应用程序管理员手动映射应用程序中的哪个用户与OneLogin目录中的哪个用户匹配(同步用户功能和关联用户)
用于(无论出于何种原因)用户的情况。 SCIM用户名与OneLogin中的值不匹配,需要手动将其与应用中的特定用户记录相关联。
要执行此操作的UI的一部分显示应用程序中用户的名字/姓氏,以帮助识别它们。
我们的修复将不再需要这些字段(并且在发生这种情况时不会出现错误)但我们将仅通过其SCIM用户名和" UNKOWN"开始显示这些用户。对于first / lastname。
不是最好的用户体验,但希望您能看到在这种情况下我们能做的最好。