首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SCIM 2.0的架构扩展

SCIM 2.0的架构扩展
EN

Stack Overflow用户
提问于 2016-01-21 13:33:19
回答 2查看 2.1K关注 0票数 1

我们有一个身份提供者用户注册表,以及一个供应用程序读/写用户配置文件的SOAP Web服务。现在我们还计划添加一个SCIM接口。

我们发现Core User模式涵盖了基本的属性集,但是我们现有的系统对相同的属性有不同的命名约定。

例如,USERTELEPHONENUMBER、USERSTREETADDR1等。

考虑到大量已经使用此命名约定的应用程序,我们希望在SCIM 2.0中继续使用此命名约定。

假设我们可以扩展Core User模式,

1)我们可以选择不使用Core模式中的任何属性吗?如果有效负载包含这些属性,我们是否可以简单地在服务器端忽略它们,而只处理自定义模式属性?

一个示例用户文档-

代码语言:javascript
复制
    {
        "schemas":    [ "urn:scim:schemas:core:2.0:User",
                     urn:scim:schemas:extension:customattrs:2.0:User"], 
        "id": "2819c223-7f76-453a-919d-413861904646",

        "urn:scim:schemas:extension:customattrs:2.0:User": {
            "USERFIRSTNAME": "fname",
            "USERLASTNAME": "lname",
         "USERTELEPHONENUMBER": "1231231234
     }
    }

2)我们可以定义一个新的资源本身,并定义一个新的核心模式。

这些选项中哪一个是更干净的方式?

EN

回答 2

Stack Overflow用户

发布于 2016-03-23 15:09:56

如果您不打算使用核心模式,为什么要使用SCIM呢?

SCIM强烈建议您使用多个属性来表示相同的内容。

我建议您在您的属性和SCIM核心(和企业扩展)属性之间创建一个映射。如果有任何东西没有映射到这两个模式,您应该创建一个扩展。

票数 3
EN

Stack Overflow用户

发布于 2017-01-03 00:24:33

我认为您需要的是scim核心模式属性和现有系统属性之间的映射。正如您所说的,scim核心模式和您现有的系统属性具有相同的含义,因此您不应该在扩展中重新定义这些属性。这是scim规范强烈反对的。(https://www.rfc-editor.org/rfc/rfc7643#section-3.3)

模式扩展应该避免重新定义本规范中定义的任何属性,并且应该遵循本规范中定义的约定。

但是,如果您在现有系统中有其他属性,则可以在扩展中定义它们。

如果您有像WSO2 Charon (https://docs.wso2.com/display/IS450/Implementing+SCIM+with+Charon)这样的解耦的scim实现,我建议您在scim实现层下面有一个单独的层,以便在将属性用于任何业务逻辑之前对属性进行必要的映射。但这基本上取决于您的实现。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34916097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档