
![[8.5.5.4 或更高版本]](../ng_v8554.gif)
在 Liberty 概要文件中配置 OpenID Connect 提供者
可配置 Liberty 概要文件服务器以充当 OpenID Connect 提供者或授权服务器以使用 Web 单点登录。
关于此任务
通过启用 Liberty 概要文件的 openidConnectServer-1.0 功能部件并配置其他配置信息,可配置 Liberty 概要文件服务器以充当 OpenID Connect 提供者。
过程
- 将 openidConnectServer-1.0 Liberty
功能部件及任何其他所需功能部件添加至 server.xml 文件。对于 openidConnectServer-1.0 功能部件,还需要 ssl-1.0 功能部件。
<feature>openidConnectServer-1.0</feature> <feature>ssl-1.0</feature>
- 定义 OAuth 服务提供者。OpenID Connect 是在 OAuth 2.0 协议基础上构建的,您必须配置有效 OAuth 服务提供者。OAuth
服务提供者的配置包含相应 oauth-roles、oauthProvider 和用户注册表元素。被授权使用 OpenID Connect 的任何用户还必须映射至 authenticated oauth-role。有关更多信息,请参阅定义 OAuth
服务提供者。
系统将针对 OpenID Connect 更新 OAuth 元数据,并且大部分添加在客户机元数据中进行。如果对客户机注册使用 databaseStore 方式,请参阅配置 OpenID Connect 提供者以接受客户机注册请求以了解更多信息。建议您遵循该文档中的指示来管理客户机。如果对客户机注册使用 localStore 方式,那么可注册 scope、preAuthorizedScope、grantTypes、responseTypes、introspectTokens、和 functionalUserId 及其他属性。
- 添加 openidConnectProvider 元素,其 oauthProviderRef 属性引用所配置 oauthProvider。每个 oauthProvider
只能被一个 openidConnectProvider 引用,两个或更多 openidConnectProvider 元素不能引用同一 oauthProvider。客户机元素的
name 属性和 secret 属性必须与对应 OpenID Connect 客户机的 client ID 和 client secret 相匹配。此示例使用缺省 Liberty 概要文件服务器 OpenID Connect 客户机。 注: 在此示例中,OP 期望客户机的 SSL 端口设置为 443。
<openidConnectProvider id="OidcConfigSample" oauthProviderRef="OAuthConfigSample" /> <oauthProvider id="OAuthConfigSample"> <localStore> <client name="client01" secret="{xor}LDo8LTor" displayname="client01" scope="openid profile email" redirect="https://server.example.com:443/oidcclient/redirect/client01"/> </localStore> </oauthProvider>
注: 有效客户机必须针对 authorization_code 授权类型注册其名称、重定向、范围和密钥。 - 配置服务器的信任库以包含受支持的 OpenID Connect 依赖方或客户机的签署者证书。有关密钥库的信息,请参阅对 Liberty 概要文件启用 SSL 通信
- 修改服务器的 SSL 配置以使用所配置信任库。
<sslDefault sslRef="DefaultSSLSettings" /> <ssl id="DefaultSSLSettings" keyStoreRef="myKeyStore" trustStoreRef="myTrustStore" /> <keyStore id="myKeyStore" password="{xor}Lz4sLCgwLTs=" type="jks" location="${server.config.dir}/resources/security/BasicKeyStore.jks" /> <keyStore id="myTrustStore" password="{xor}Lz4sLCgwLTs=" type="jks" location="${server.config.dir}/resources/security/BasicTrustStore.jks" />
OpenID Connect 配置为使用服务器指定的缺省 SSL 配置。因此,服务器的缺省 SSL 配置必须使用为 OpenID Connect 配置的信任库。
OpenID Connect 中的用户同意书是可插拔的,这允许提供者创建和维护他们自己的同意书。因为此表单是通过 SSL 检索到的,所以您必须配置信任库以包含同意书所在服务器的签署者证书。如果已使用缺省同意书并且用于 OpenID Connect 的信任库配置为不同于 Liberty 概要文件服务器使用的密钥库,那么必须将 Liberty 概要文件服务器的签署者证书导入至 OpenID Connect 信任库。
有关更多 OpenID Connect 提供者配置选项,请参阅在 server.xml 文件中配置元素。
注: 为使用 OpenID Connect,scope 属性必须在范围列表中添加 openid。
结果
子主题
将 OpenID Connect 提供者用作 OAuth 2.0 授权服务器
OpenID Connect 提供者可用作常规 OAuth 2.0 授权服务器以发出 OAuth 2.0 access_token 并支持所有 OAuth 2.0 授权类型。配置 OpenID Connect 提供者以接受发现请求
发现配置端点提供有关 OpenID Connect 提供者 (OP) 服务器支持的功能的信息。配置 UserInfo 端点返回的声明
可配置 Liberty 概要文件 OpenID Connect 提供者以定制 UserInfo 端点返回的声明。配置 OpenID Connect 提供者以启用两脚 OAuth 请求
典型 OAuth 流程由客户机与授权服务器之间的交互的三只“脚”或三个阶段构成。在两脚 OAuth 方案中,客户机使用预授权范围以便不需要与用户交互(不需要在典型流程中执行其中一只脚)。具体地说,用户不必向授权服务器认证或同意共享所请求范围指定的信息。反而全部所请求范围参数被视为预授权的,并自动添加至请求令牌,然后请求令牌被发送至授权服务器。配置 OpenID Connect 提供者以使用 RSA-SHA256 算法签署标识令牌
可配置 OpenID Connect 提供者以使用 RS256 算法签署标识令牌。配置 OpenID Connect 提供者以接受 JSON Web 令牌 (JWT) 进行授权
可配置充当 OpenID Connect 提供者的 Liberty 概要文件服务器以在交换中接受 JSON Web 令牌来获取访问令牌。配置 OpenID Connect 提供者以接受客户机注册请求
客户机注册端点是管理员管理的服务,用于注册、更新、删除和检索有关计划使用 OpenID Connect 提供者的 OpenID Connect 依赖方的信息。反过来,注册过程可提供信息以供依赖方使用它,包括 OAuth 2.0 客户机标识和客户端密钥(如果未指定)。OpenID Connect 定制表单
可以替换用于用户认证的缺省表单登录页面,或者开发您自己的用户许可表单来收集客户机授权数据。认证用户
OpenID Connect 提供者支持使用传统 Java™ Platform Enterprise Edition (J2EE) FormLogin 进行用户认证。

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

http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_config_oidc_op
文件名:twlp_config_oidc_op.html