0

我正在尝试实现 SCIM 自动配置。

我在 Java Spring 中有一个端点,用于带有路径 /User 的 HTTP 方法 POST

我的站点 URL 是www.SampleScim.com,并且此端点是按照以下步骤在 Azure SCIM 预配中配置的

创建应用程序:


  1. 在https://manage.windowsazure.com上启动了 Azure 管理门户。
  2. 浏览到 Active Directory > 目录 > 我的目录 > 应用程序,然后从库中选择添加 > 添加应用程序。
  3. 选择左侧的自定义选项卡,为我的应用程序输入一个名称为 SampleSCIM,然后单击复选标记图标以创建一个应用程序对象。

在 App 中配置端点:

  1. 在出现的屏幕中,选择第二个配置帐户配置按钮。
  2. 在 Provisioning Endpoint URL 字段中,将 URL SCIM 端点输入为www.SampleScim.com/并将 Authentication Token (optional) 字段留空。
  3. 单击下一步直到最后一步。

我的 Java 控制器如下所示。

    @RequestMapping(value = "/Users", method = RequestMethod.POST)
    @ResponseStatus(HttpStatus.CREATED)
    @ResponseBody
    public ScimUser createSCIMUser(@RequestBody ScimUser user, HttpServletRequest request, HttpServletResponse response) {
        
         if (LOGGER.isInfoEnabled()) {
                LOGGER.info(requestId + ": ------------------Inside createSCIMUser Entry ----------------------:\n" );
            }
        
        if (LOGGER.isInfoEnabled()) {
            LOGGER.info(requestId + ": ------------------Inside createSCIMUser Exit ----------------------:\n ");
        }
        return user;
    }

每当我在 Azure 中添加用户时,我都无法看到我的端点 (/Users) 被触发。

完整的端点 URL:www.SampleScim.com/Users

4

1 回答 1

0

根据幻灯片的第 46 页Identity Management with Spring Security,它说 SCIM 没有在 Spring 中实现。因此,仅通过您发布的代码,我不知道您如何使用 Spring 实现 SCIM 端点,或者在其他代码中自己实现该功能。

您的 Java 控制器的代码似乎只实现了Creating ResourcesSCIM 2.0 协议规范的功能。作为参考,我建议您可以参考GitHub 上的两个项目 (okta-scim-java-beta和) 来改进您的代码。SCIM 2.0 SDK for Java

希望能帮助到你。

于 2017-06-06T09:42:49.830 回答