WebSphere Liberty 支持将 OAuth 2.0 本地客户机和令牌持久存储到数据库中。 通过持久 OAuth 2.0,授权本地客户机可以在重新启动后继续访问 OAuth 2.0 服务。
开始之前
SAF 安全性是 CICS 中的常见用例,此过程在示例中使用 SAF。
- 获取必要的访问权,以便在数据库中创建表并对这些表进行读/写操作,然后在 Liberty
server.xml中对其进行配置。
- 将 SAF EJBROLE
BBGZDFLT.com.ibm.ws.security.oauth20.clientManager 的访问权授予管理员用户以控制 OAuth 2.0 本地客户机。
- 在 Liberty
server.xml中创建 OAuth 2.0 提供程序。 有关更多信息,请参阅 使用 OAuth 授权 2.0。
关于此任务
以下步骤创建持久 OAuth 2.0 本地客户机。 此本地客户机用于授予 OAuth 2.0 令牌。
限制: 持久 OAuth 2.0 服务不支持Db2® JDBC 类型 2 连接。
过程
- 使用 IBM Db2 for persistent OAuth services 作为指南创建必需的表。
- 通过向 URL 发送 POST 请求来创建持久本地客户机:
https://hostname:port/oauth2/endpoint/provider_name/registration
使用 配置 OpenID Connect 提供者以接受客户机注册请求中的第一个表中描述的 JSON 文档; 例如:
{
"client_id": "client_id",
"client_secret": "client_secret",
"grant_types": [ "authorization_code", "refresh_token" ],
"redirect_uris": [ "https://client.example.ibm.com/webApp/redirect" ]
}
结果
将创建持久 OAuth 2.0 本地客户机。 当此本地客户机用于生成令牌时,这些令牌将持久存储到数据库中。 如果服务器重新启动,那么持久本地客户机和令牌将保持有效。