![[AIX]](ngaix.gif)
![[MQ 9.4.0 2024 年 6 月]](ng940.gif)
![[Linux]](nglinux.gif)
在应用程序中使用认证令牌
编写应用程序以在连接到 IBM® MQ 队列管理器时提供认证令牌。
开始之前
从 IBM MQ 9.4.0开始,应用程序可以在连接到队列管理器时提供认证令牌。
- 它必须以 C 或 Java 编写 (使用 IBM MQ classes for JMS/ Jakarta Messaging)
- 它必须作为 IBM MQ client连接到队列管理器。 即,应用程序必须通过网络连接到队列管理器,而不是使用本地绑定。
- 它必须连接到在 AIX® 或 Linux®上运行的队列管理器。
提供认证令牌的应用程序可以在支持 IBM MQ MQI clients的任何平台上运行。
使用自动客户机重新连接的客户机在连接时无法提供认证令牌。 如果应用程序提供认证令牌,并在 MQCNO 结构中指定 MQCNO_RECONNECT 或 MQCNO_RECONNECT_Q_MGR 选项,那么连接将失败并将原因码MQRC_RECONNECT_不兼容 (2547) 返回到应用程序。 有关自动客户机重新连接的更多信息,请参阅 自动客户机重新连接。
如果由于这些需求而无法编写应用程序以提供认证令牌,那么也可以通过使用客户机安全性出口来迁移应用程序以使用认证令牌。 可以写入客户机安全出口以在 MQCSP 结构中设置认证令牌。 有关安全出口的更多信息,请参阅 客户机连接上的安全出口。
从 IBM MQ 9.4.0 开始,JMS 客户端应用程序可在连接时直接提供令牌(请参阅 从您选择的令牌发行机构获取身份验证令牌)。 在 IBM MQ 9.4.0之前, Java 应用程序可以通过出口程序间接提供令牌。 有关更多信息,请参阅 Java 类 MQCSP。
从 IBM MQ 9.4.3 , JMS 应用程序可以配置连接工厂属性,这样 IBM MQ JMS 库就可以代表应用程序从令牌提供者 URL 获取令牌。 然后,令牌会被发送到队列管理器进行验证。 这也适用于可重新连接的客户端,也就是说,如果 WMQ_CLIENT_RECONNECT_OPTIONS 设置为 WMQ_CLIENT_RECONNECT 或 WMQ_CLIENT_RECONNECT_Q_MGR。
关于本任务
- 已按照配置队列管理器以使用本地密钥库接受身份验证令牌中的步骤将队列管理器配置为接受身份验证令牌。
- 您的应用程序可根据需要从身份验证服务器获取有效令牌,请参阅从所选令牌发行机构获取身份验证令牌。
要在应用程序连接到 IBM MQ 队列管理器时提供认证令牌,请包含以下过程。