OpenID Connect Client
此功能部件允许 Web 应用程序集成 OpenID 连接客户机 1.0 以认证用户(而不是已配置的用户注册表)或在认证已配置的用户注册表之外认证用户。
启用此功能部件
要启用 OpenID Connect 客户机功能部件,请在 server.xml 文件的 featureManager 元素内添加以下元素声明:
<feature>openidConnectClient-1.0</feature>
受支持的 Java™ 版本
- JavaSE-1.6
- JavaSE-1.7
- JavaSE-1.8
开发依赖于此功能部件的功能部件
如果您要开发依赖于 OpenID Connect 客户机功能部件的功能部件,请在新功能部件的功能部件清单文件的 Subsystem-Content 头中添加以下项:
com.ibm.websphere.appserver.openidConnectClient-1.0; type="osgi.subsystem.feature"
此功能部件启用的功能部件
功能部件配置元素
可在 server.xml 文件中使用以下元素以配置 OpenID Connect 客户机功能部件:
- administrator-role
- authCache
- authFilter
- authentication
- authorization-roles
- basicRegistry
- classloading
- jaasLoginContextEntry
- jaasLoginModule
- library
- ltpa
- openidConnectClient
- quickStartSecurity
- trustAssociation
- administrator-role
- 分配有服务器管理员角色的用户和/或组的集合。
- authCache
- 控制认证高速缓存的操作。
属性名称 数据类型 缺省值 描述 allowBasicAuthLookup 布尔型 true 允许凭借用户标识和散列密码进行查找。 initialSize int 最小值:1
50 受认证高速缓存支持的初始条目数。 maxSize int 最小值:1
25000 受认证高速缓存支持的最大条目数。 timeout 具有毫秒精度的时间段 600s 在其后将除去高速缓存中的条目的时间量。. 指定后跟时间单位的正整数,时间单位可以是小时 (h)、分钟 (m)、秒 (s) 或毫秒 (ms)。例如,以 500ms 的形式指定 500 毫秒。可将多个值包括在单个条目中。例如,1s500ms 相当于 1.5 秒。 - authFilter
- 指定表示条件的选择规则,HTTP 请求头必须与这些条件匹配才能确定是否对认证选择该 HTTP 请求。
属性名称 数据类型 缺省值 描述 id 字符串 唯一配置标识。 - authFilter > host
描述: 唯一配置标识。必需: false数据类型: 属性名称 数据类型 缺省值 描述 id 字符串 唯一配置标识。 matchType - equals
- contains
- notContain
contains 指定匹配类型。 - equals
- Equals
- contains
- Contains
- notContain
- Not contain
name string 指定名称。
- authFilter > remoteAddress
描述: 唯一配置标识。必需: false数据类型: 属性名称 数据类型 缺省值 描述 id 字符串 唯一配置标识。 ip string 指定 IP 地址。 matchType - lessThan
- equals
- greaterThan
- contains
- notContain
contains 指定匹配类型。 - lessThan
- Less than
- equals
- Equals
- greaterThan
- Greater than
- contains
- Contains
- notContain
- Not contain
- authFilter > requestUrl
描述: 唯一配置标识。必需: false数据类型: 属性名称 数据类型 缺省值 描述 id 字符串 唯一配置标识。 matchType - equals
- contains
- notContain
contains 指定匹配类型。 - equals
- Equals
- contains
- Contains
- notContain
- Not contain
urlPattern string 指定 URL 模式。
- authentication
- 控制内置认证服务配置。
属性名称 数据类型 缺省值 描述 allowHashtableLoginWithIdOnly 布尔型 false 允许应用程序仅使用散列表属性中的标识进行登录。仅当具有需要此许可并且具有其他方法来验证该标识的应用程序时,才请使用此选项。 cacheEnabled 布尔型 true 启用认证高速缓存。 - authorization-roles
- %authorizationRoles.desc
属性名称 数据类型 缺省值 描述 id 字符串 唯一配置标识。 - authorization-roles > security-role
描述: 唯一配置标识。必需: false数据类型: 属性名称 数据类型 缺省值 描述 id 字符串 唯一配置标识。 name string %roleName.desc - authorization-roles > security-role > group
描述: 唯一配置标识。必需: false数据类型: 属性名称 数据类型 缺省值 描述 access-id string %groupAccessId.desc id 字符串 唯一配置标识。 name string %groupName.desc
- basicRegistry
- 基于 XML 的简单用户注册表。
属性名称 数据类型 缺省值 描述 id 字符串 唯一配置标识。 ignoreCaseForAuthentication 布尔型 false 允许不区分大小写的用户名认证。 realm string BasicRegistry 域名表示用户注册表。 - classloading
- 全局类装入
属性名称 数据类型 缺省值 描述 useJarUrls 布尔型 false 是将 jar: URL 还是将 wsjar: URL 用于引用归档中的文件 - jaasLoginContextEntry
- JAAS 登录上下文条目配置。
属性名称 数据类型 缺省值 描述 id 字符串 唯一配置标识。 loginModuleRef 对顶级 jaasLoginModule 元素的引用的列表(以逗号分隔的字符串)。 hashtable,userNameAndPassword,certificate,token 对 JAAS 登录模块的标识的引用。 name string JAAS 配置条目的名称。 - jaasLoginModule
- JAAS 配置中的登录模块。
属性名称 数据类型 缺省值 描述 className string JAAS 登录模块类的标准包名。 controlFlag - SUFFICIENT
- REQUISITE
- REQUIRED
- OPTIONAL
REQUIRED 登录模块的控制标志。有效值包括 REQUIRED、REQUISITE、SUFFICIENT 和 OPTIONAL。 - SUFFICIENT
- 此登录模块对于每个 JAAS 规范而言已经够用。此登录模块不必成功。如果认证成功,那么将不会调用任何其他登录模块,并且会将控制权返回给调用者。
- REQUISITE
- 此登录模块是每个 JAAS 规范的必需项。该登录模块必须成功。如果认证失败,那么将不会调用任何其他登录模块,并且会将控制权返回给调用者。
- REQUIRED
- 按照 JAAS 规范,此登录模块为必需的 (REQUIRED) 模块。该登录模块必须成功。
- OPTIONAL
- 此登录模块是每个 JAAS 规范的可选项。此登录模块不必成功。
id 字符串 唯一配置标识。 libraryRef 对顶级 library 元素的引用(字符串)。 对共享库配置的标识的引用。 - jaasLoginModule > library
描述: 对共享库配置的标识的引用。必需: false数据类型: 属性名称 数据类型 缺省值 描述 apiTypeVisibility string spec,ibm-api,api 此库的类装入器将能够看到的 API 包的类型,其格式为下列项的任何组合的逗号分隔列表:规范、ibm-api、api 和第三方。 description string 管理员的共享库的描述 filesetRef 对顶级 fileset 元素的引用的列表(以逗号分隔的字符串)。 所引用文件集的标识 name string 管理员的共享库的名称 - jaasLoginModule > library > file
描述: 所引用文件的标识必需: false数据类型: 属性名称 数据类型 缺省值 描述 id 字符串 唯一配置标识。 name 文件路径 标准文件名
- jaasLoginModule > library > fileset
描述: 所引用文件集的标识必需: false数据类型: 属性名称 数据类型 缺省值 描述 caseSensitive 布尔型 true 指示搜索是否应区分大小写的布尔值(缺省值:true)。 dir 目录路径 ${server.config.dir} 用于搜索文件的基本目录。 excludes string 要排除在搜索结果以外的文件名模式的逗号或空格分隔列表,缺省情况下不排除任何文件。 id 字符串 唯一配置标识。 includes string * 要包含在搜索结果中的文件名模式的逗号或空格分隔列表(缺省值:*)。 scanInterval 具有毫秒精度的时间段 0 检查文件集更改的扫描时间间隔,格式为长整形加上时间单位后缀(h 表示小时、m 表示分钟、s 表示秒、ms 表示毫秒),例如,2ms 或 5s。缺省情况下为禁用 (scanInterval=0)。. 指定后跟时间单位的正整数,时间单位可以是小时 (h)、分钟 (m)、秒 (s) 或毫秒 (ms)。例如,以 500ms 的形式指定 500 毫秒。可将多个值包括在单个条目中。例如,1s500ms 相当于 1.5 秒。
- library
- 共享库
属性名称 数据类型 缺省值 描述 apiTypeVisibility string spec,ibm-api,api 此库的类装入器将能够看到的 API 包的类型,其格式为下列项的任何组合的逗号分隔列表:规范、ibm-api、api 和第三方。 description string 管理员的共享库的描述 filesetRef 对顶级 fileset 元素的引用的列表(以逗号分隔的字符串)。 所引用文件集的标识 id 字符串 唯一配置标识。 name string 管理员的共享库的名称 - library > fileset
描述: 所引用文件集的标识必需: false数据类型: 属性名称 数据类型 缺省值 描述 caseSensitive 布尔型 true 指示搜索是否应区分大小写的布尔值(缺省值:true)。 dir 目录路径 ${server.config.dir} 用于搜索文件的基本目录。 excludes string 要排除在搜索结果以外的文件名模式的逗号或空格分隔列表,缺省情况下不排除任何文件。 id 字符串 唯一配置标识。 includes string * 要包含在搜索结果中的文件名模式的逗号或空格分隔列表(缺省值:*)。 scanInterval 具有毫秒精度的时间段 0 检查文件集更改的扫描时间间隔,格式为长整形加上时间单位后缀(h 表示小时、m 表示分钟、s 表示秒、ms 表示毫秒),例如,2ms 或 5s。缺省情况下为禁用 (scanInterval=0)。. 指定后跟时间单位的正整数,时间单位可以是小时 (h)、分钟 (m)、秒 (s) 或毫秒 (ms)。例如,以 500ms 的形式指定 500 毫秒。可将多个值包括在单个条目中。例如,1s500ms 相当于 1.5 秒。
- ltpa
- 轻量级第三方认证 (LTPA) 令牌配置。
属性名称 数据类型 缺省值 描述 expiration 具有分钟精度的时间段 120m 令牌到期之前的时间量,以分钟计。. 指定后跟时间单位的正整数,时间单位可以是小时 (h) 或分钟 (m)。例如,以 30m 的形式指定 30 分钟。可将多个值包括在单个条目中。例如,1h30m 相当于 90 分钟。 keysFileName 文件路径 ${server.output.dir}/resources/security/ltpa.keys 包含令牌密钥的文件的路径。 keysPassword 可逆向编码的密码(字符串) {xor}CDo9Hgw= 令牌密钥的密码。可采用明文或编码格式存储该值。要对该密码进行编码,建议将 securityUtility 工具与编码选项配合使用。 monitorInterval 具有毫秒精度的时间段 0ms 服务器检查 LTPA 令牌密钥文件更新的速率。. 指定后跟时间单位的正整数,时间单位可以是小时 (h)、分钟 (m)、秒 (s) 或毫秒 (ms)。例如,以 500ms 的形式指定 500 毫秒。可将多个值包括在单个条目中。例如,1s500ms 相当于 1.5 秒。 - openidConnectClient
- OpenID Connect 客户机。
属性名称 数据类型 缺省值 描述 authFilterRef 对顶级 authFilter 元素的引用(字符串)。 指定认证过滤器参考。 authorizationEndpointUrl string 指定授权端点 URL。 clientId string 客户的身份。 clientSecret 可逆向编码的密码(字符串) 客户机的密钥。 hostNameVerificationEnabled 布尔型 false 指定是否启用主机名验证。 httpsRequired 布尔型 true 在 OpenID 依赖方与提供程序服务之间需要 SSL 通信。 id 字符串 唯一配置标识。 includeIdTokenInSubject 布尔型 true 指定是否在客户机主题中包括标识令牌。 initialStateCacheCapacity int 最小值:0
3000 指定状态高速缓存的起始容量。此容量在本身需要时会增长。 issuerIdentifier string 颁发者标识是使用 HTTPS 方案的 URL(区分大小写),其中包含方案、主机及(可选的)端口号和路径部分。 mapIdentityToRegistryUser 布尔型 false 指定是否将身份映射至注册表用户。用户注册表不会用来创建用户主题集。 nonceEnabled 布尔型 false 在授权代码流程中启用现时标志参数。 redirectToRPHostAndPort string 指定重定向 OpenID 依赖方主机和端口号。 scope tokenType openid profile 提供程序允许的 OpenID Connect 作用域(如 OpenID Connect 规范中详述)。 signatureAlgorithm - HS256
- none
- RS256
HS256 指定将用于验证标识令牌的签名的签名算法。 - HS256
- %tokenSignAlgorithm.HS256
- none
- %tokenSignAlgorithm.NONE
- RS256
- %tokenSignAlgorithm.RS256
sslRef string 指定用于连接至 OpenID Connect 提供程序的 SSL 配置的标识。 tokenEndpointUrl string 指定令牌端点 URL。 trustAliasName string 用于找到公用密钥(与非对称算法一起用于签名验证)的密钥别名名称。 trustStoreRef string 密钥库,包含在验证标识令牌的签名时必需的公用密钥。 userIdentityToCreateSubject string sub 在标识令牌中指定用于创建用户主题的用户身份。 - openidConnectClient > authFilter
描述: 指定认证过滤器参考。必需: false数据类型: - openidConnectClient > authFilter > host
描述: 唯一配置标识。必需: false数据类型: 属性名称 数据类型 缺省值 描述 id 字符串 唯一配置标识。 matchType - equals
- contains
- notContain
contains 指定匹配类型。 - equals
- Equals
- contains
- Contains
- notContain
- Not contain
name string 指定名称。
- openidConnectClient > authFilter > remoteAddress
描述: 唯一配置标识。必需: false数据类型: 属性名称 数据类型 缺省值 描述 id 字符串 唯一配置标识。 ip string 指定 IP 地址。 matchType - lessThan
- equals
- greaterThan
- contains
- notContain
contains 指定匹配类型。 - lessThan
- Less than
- equals
- Equals
- greaterThan
- Greater than
- contains
- Contains
- notContain
- Not contain
- openidConnectClient > authFilter > requestUrl
描述: 唯一配置标识。必需: false数据类型: 属性名称 数据类型 缺省值 描述 id 字符串 唯一配置标识。 matchType - equals
- contains
- notContain
contains 指定匹配类型。 - equals
- Equals
- contains
- Contains
- notContain
- Not contain
urlPattern string 指定 URL 模式。
- quickStartSecurity
- 简单管理安全性配置
属性名称 数据类型 缺省值 描述 userName string 在快速启动安全性配置中定义了单一用户。此用户被授予管理员角色。 userPassword 可逆向编码的密码(字符串) 在快速启动安全性配置中定义的单一用户的密码。建议您对此密码进行编码。为此,请将 securityUtility 工具与编码选项配合使用。 - trustAssociation
- 控制信任关联拦截器 (TAI) 的操作。
属性名称 数据类型 缺省值 描述 failOverToAppAuthType 布尔型 false 允许拦截器后退到应用程序认证机制。 id 字符串 唯一配置标识。 invokeForUnprotectedURI 布尔型 false 控制是否为不受保护的 URI 调用 TAI。 - trustAssociation > interceptors
描述: 唯一配置标识。必需: false数据类型: 属性名称 数据类型 缺省值 描述 className string 拦截器类的标准包名。 enabled 布尔型 true 启用或禁用拦截器。 id 字符串 唯一配置标识。 invokeAfterSSO 布尔型 true 在单点登录 (SSO) 之后调用拦截器。 invokeBeforeSSO 布尔型 false 在单点登录 (SSO) 之前调用拦截器。 libraryRef 对顶级 library 元素的引用(字符串)。 对共享库配置的标识的引用。 - trustAssociation > interceptors > library
描述: 对共享库配置的标识的引用。必需: false数据类型: 属性名称 数据类型 缺省值 描述 apiTypeVisibility string spec,ibm-api,api 此库的类装入器将能够看到的 API 包的类型,其格式为下列项的任何组合的逗号分隔列表:规范、ibm-api、api 和第三方。 description string 管理员的共享库的描述 filesetRef 对顶级 fileset 元素的引用的列表(以逗号分隔的字符串)。 所引用文件集的标识 name string 管理员的共享库的名称 - trustAssociation > interceptors > library > file
描述: 所引用文件的标识必需: false数据类型: 属性名称 数据类型 缺省值 描述 id 字符串 唯一配置标识。 name 文件路径 标准文件名
- trustAssociation > interceptors > library > fileset
描述: 所引用文件集的标识必需: false数据类型: 属性名称 数据类型 缺省值 描述 caseSensitive 布尔型 true 指示搜索是否应区分大小写的布尔值(缺省值:true)。 dir 目录路径 ${server.config.dir} 用于搜索文件的基本目录。 excludes string 要排除在搜索结果以外的文件名模式的逗号或空格分隔列表,缺省情况下不排除任何文件。 id 字符串 唯一配置标识。 includes string * 要包含在搜索结果中的文件名模式的逗号或空格分隔列表(缺省值:*)。 scanInterval 具有毫秒精度的时间段 0 检查文件集更改的扫描时间间隔,格式为长整形加上时间单位后缀(h 表示小时、m 表示分钟、s 表示秒、ms 表示毫秒),例如,2ms 或 5s。缺省情况下为禁用 (scanInterval=0)。. 指定后跟时间单位的正整数,时间单位可以是小时 (h)、分钟 (m)、秒 (s) 或毫秒 (ms)。例如,以 500ms 的形式指定 500 毫秒。可将多个值包括在单个条目中。例如,1s500ms 相当于 1.5 秒。