Liberty Repository[8.5.5.4 或更高版本]

配置 UserInfo 端点返回的声明

可配置 Liberty 概要文件 OpenID Connect 提供者以定制 UserInfo 端点返回的声明。

关于此任务

可使用 server.xml 文件中 openidConnectProvider 元素的 scopeToClaimMapclaimToUserRegistryMap 子元素配置从 Liberty 概要文件服务器 OpenID Connect 提供者返回的声明。

OpenID Connect UserInfo 端点接受访问令牌作为输入,并返回有关为其创建该访问令牌的用户的一组声明。返回的声明由以下项确定:
  1. 访问令牌中的范围

    一个访问令牌可有多个范围。访问令牌中的范围是创建该访问令牌的授权端点调用中提供的范围。

  2. 与范围相关联的声明

    每个范围可有多个相关联的声明。

  3. 与声明相关联的联合存储库属性

    一个声明只能有一个相关联的联合存储库属性。

  4. 与联合存储库属性相关联的用户注册表属性

    一个联合存储库属性只能有一个相关联的用户注册表属性。

注: 支持检索 UserInfo 声明的唯一用户注册表类型为 LDAP。

Liberty 定义缺省范围、声明、联合注册表属性和缺省映射。

表 1. 范围、声明和联合注册表属性的缺省映射
范围 声明 联合注册表属性
profile name、given_name 和 picture displayName、givenName 和 photoURL
email email mail
address address postalAddress
phone phone_number telephoneNumber

下列每个步骤都是可选的。Liberty 概要文件服务器定义缺省范围、声明、联合注册表属性和缺省映射。只有您想要更改缺省映射或定义定制范围或声明时,才需要执行下列任何步骤。

过程

  1. 配置与范围相关联的声明。一个范围可映射至多个声明,且多个声明之间必须以逗号分隔。
    在以下示例中,范围 CUSTOM_SCOPE1 与两个声明(CUSTOM_CLAIM1language)相关联,范围 CUSTOM_SCOPE2 与一个声明 (CUSTOM_CLAIM2) 相关联。
    <scopeToClaimMap CUSTOM_SCOPE1="CUSTOM_CLAIM1, language"
                     CUSTOM_SCOPE2="CUSTOM_CLAIM2" />
    注: 声明和范围名称是区分大小写的,CUSTOM_SCOPE1custom_scope1 是不同范围。
    1. 要定义拼写相同但大小写不同的范围,必须使用 property 子元素。在以下示例中,定义了范围 CUSTOM_SCOPE1custom_scope1
      <scopeToClaimMap CUSTOM_SCOPE1="CUSTOM_CLAIM1, language" > 
          <property name="custom_scope1" value="custom_claim1,mobile"/> 
      </scopeToClaimMap>
  2. 配置与声明相关联的联合存储库属性。一个声明只能映射至一个联合存储库属性。
    在以下示例中,声明 CUSTOM_CLAIM1 与联合存储库属性 departmentNumber 相关联。声明 language 与联合存储库属性 preferredLanguage 相关联,声明 CUSTOM_CLAIM2 与联合存储库属性 mail 相关联。
    <claimToUserRegistryMap CUSTOM_CLAIM1="departmentNumber"
                            language="preferredLanguage" 
                            CUSTOM_CLAIM2="mail" />
    1. 要定义拼写相同但大小写不同的声明,必须使用 property 子元素。在以下示例中,定义了声明 CUSTOM_CLAIM1custom_claim1
      <claimToUserRegistryMap CUSTOM_CLAIM1="departmentNumber" >
          <property name="custom_claim1" value="employeeType" />
      </claimToUserRegistryMap>
  3. 配置与联合存储库属性相关联的用户注册表属性。
    在以下示例中,联合存储库属性 photoURL 与 LDAP 注册表属性 ldapPersonPicture 相关联
    <ldapRegistry...>
      ...
        <attributeConfiguration>
            <attribute name="ldapPersonPicture" 
                       propertyName="photoURL" 
                       entityType="PersonAccount" />
        </attributeConfiguration>
       …
    </ldapRegistry>
    注: 必须在 LDAP 注册表的模式中定义该 LDAP 属性。

结果

您现在已完成在定制 UserInfo 端点返回的声明时需要的配置。

用于指示主题类型的图标 任务主题

信息中心的条款和条件 | 反馈


时间戳记图标 最近一次更新时间: Wednesday, 2 September 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_config_scopes_claims_userinfo
文件名:twlp_config_scopes_claims_userinfo.html