代码之家  ›  专栏  ›  技术社区  ›  Peter Takacs

现有用户设置期间发生内部设置错误

  •  0
  • Peter Takacs  · 技术社区  · 9 年前

    我们正在开发SCIM API,在OneLogin和我们的应用程序之间的集成测试期间,我们总是会遇到错误,可以通过以下步骤重现:

    1. 使用在应用程序中创建用户xy@email.com(SCIM用户名)
    2. 在OneLogin中创建具有相同电子邮件地址的用户
    3. 将此用户添加到应用程序
    4. OneLogin应识别此用户已在使用该SCIM应用程序,因此无需进一步设置操作。但是,我们遇到了“内部资源调配错误”

    我可以验证我们的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返回“内部配置错误”

    回答有什么问题吗?

    非常感谢。 彼得

    2 回复  |  直到 9 年前
        1
  •  1
  •   Peter Takacs    9 年前

    我发现了错误。在OneLogin中,firstName和lastName是必需的,但在我们的应用程序中它们不是。当OneLogin获取我们的用户时,它无法解析结果,因为我们不返回firstname和lastname。

        2
  •  0
  •   John Offenhartz    9 年前

    我们实际上

    具体来说,我们具有获取目标应用程序中所有用户的功能,然后我们允许应用程序管理员手动映射应用程序中的哪个用户与OneLogin目录中的那个用户匹配(同步用户功能&关联用户)

    当用户的SCIM用户名(无论出于何种原因)与OneLogin中的值不匹配,并且需要手动将其与应用程序中的特定用户记录关联时,可以使用此选项。

    要执行此操作的UI的一部分显示了应用程序中用户的名字/姓氏,以帮助识别他们。

    我们的解决方案是不再需要这些字段(发生这种情况时不会出现错误),但我们将开始只显示这些用户的SCIM用户名,并以“UNKOWN”作为名字/姓氏。

    不是最好的用户体验,但希望你能看到,这是我们在这种情况下能做的最好的。