OKTA SCIM API中不存在的用户对更新请求的响应将是什么?

问题描述

如果我们在OKTA SCIM API using PUT中调用不存在的资源的更新会发生什么?

它返回404还是创建一个新用户?

解决方法

我没有Okta的SCIM实现的经验,但是根据SCIM RFC,正确的响应是404。通过PUT或PATCH更新时,您将通过ID值来定位特定的对象(即:scim .app.com / scim / v2 / users / 12345)。如果拥有提供的ID值的对象不存在,则SCIM端点应返回404。

:: EDIT ::上面的答案不正确,因为我对SCIM RFC的解释不正确。正确的响应是400 Bad Request,错误消息为invalidValue,因为在PUT操作中指定的用户ID值不存在,意味着提供的值(例如:/ Users / 123 )与尝试的操作(通过PUT更新现有对象)。 :: END编辑::

RFC的相关部分:https://tools.ietf.org/html/rfc7644#section-3.2(SCIM端点和HTTP方法)调出:

PUT通过将现有属性替换为 指定的一组替换属性(replace)。 放置 不得用于创建新资源。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...