空POST /用户请求BY OKTA服务器,导致内部服务器错误

时间:2017-06-11 19:22:35

标签: json mongodb okta okta-api scim

我正在尝试使用SCIM端点使用OKTA配置从OKTA获取数据到我的本地数据库。

因此,我使用NODE.js和MongoDB作为数据库为我的SCIM 2.0测试应用程序(OAuth Bearer Token)创建了scim端点。当我将新用户分配给此应用程序时,OKTA配置服务器发送响应预期输出的GET请求。

因此,OKTA服务器向/ users发送POST请求。但它有空体,而不是包含有效的JSON。所以我的scim端点响应错误,OKTA显示错误500.所以,让我知道哪个格式/部分(如BODY,PARAMETERS)OKTA服务器可能正在发送USER JSON来创建新用户。

3 个答案:

答案 0 :(得分:4)

我建议使用Runscopengrok等工具来帮助您调试SCIM服务器。

作为起点,我建议使用Okta's example SCIM serverwritten in Python and available on GitHub

在您的特定情况下,请确保您响应对具有空响应的/ Users的GET请求。首先检查GET请求以检查用户是否已存在于您的系统中。

尽管如此,我强烈建议您使用Okta's set of Runscope tests来开发Node.js SCIM实现。 Runscope测试套件非常详尽,可以帮助您确保实现了与Okta一起使用所需的SCIM部分。

在此处了解有关Okta测试套件的更多信息:https://developer.okta.com/standards/SCIM/#test-your-scim-server

答案 1 :(得分:2)

它不是空的请求, OKTA使用var iframe = document.getElementById('youriframe'); iframe.src = iframe.src;作为application/scim+json,将服务器配置为接受标头并进一步处理以查找req正文内容。

答案 2 :(得分:-2)

OKTA服务器未在POST调用的BODY中发送架构。它实际上使用事件驱动编程,因此,我不得不使用req.on('data',callback)。和架构将存储在数据中。