可配置 OpenID Connect 提供程序以使用 RS256 算法签署标识令牌。
关于此任务
通过将 signatureAlgorithm 设置为 RS256 并配置含有签名专用密钥的密钥库,可配置 OpenID Connect 提供程序以使用 RSA-SHA256 签名算法签署标识令牌。
过程
- 将 OpenID Connect 提供者 signatureAlgorithm 属性设置为 RS256。
- 您可以配置 Liberty OP,以使用物理密钥库中的 X509 证书或自我生成的 RSA 密钥对(这是定期重新生成并发布到
jwks_uri 位置中的 JWK 的公用密钥)对标识令牌进行签名。
- 可选:X509 证书
在
server.xml 文件中,创建引用物理密钥库的 keystore 元素,该物理密钥库包含能够执行
RSA-SHA256 签名算法的专用密钥。例如:
<keyStore id="opTestKeyStore" location="${server.config.dir}/opKeyStore.jks" type="JKS" password="keystorePwd" />
将
keyStoreRef 属性设置为步骤 1 中使用的 keystore 元素的标识值,并设置
keyAliasName 以在密钥库中查找专用密钥。
例如:
<openidConnectProvider id="OAuthConfigSample" oauthProviderRef="OAuthConfigSample" signatureAlgorithm="RS256" keyStoreRef="opTestKeyStore" keyAliasName="myOpKeyAlias" />
- 可选:JWK
要动态地生成签名密钥对并将公用密钥发布到 JWK,您需要添加 jwkEnabled="true"。密钥对每 12 小时重新生成一次,您可以配置
jwkRotationTime 以修改频率。
结果
您现在已配置 OpenID Connect 提供程序以使用 RSA-SHA256 签署标识令牌。