我正在尝试使用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来创建新用户。
答案 0 :(得分:4)
我建议使用Runscope或ngrok等工具来帮助您调试SCIM服务器。
作为起点,我建议使用Okta's example SCIM server,written 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)。和架构将存储在数据中。