我正在尝试将 Keycloak 配置为 OIDC 提供者和另一个应用程序之间的身份代理。当 ID 令牌未加密时,我能够成功实现用户登录。
我正在尝试将 Keycloak 配置为能够接受加密的 ID 令牌。但是在“身份提供者”中的 Keycloak 中设置 OIDC 身份提供者时,没有选项可以明确指示 ID 令牌将被加密,也没有任何选项可以指示用于解密的密钥。
我尝试将自生成的 RSA 密钥添加到“领域设置 > 密钥”,并在 OIDC Provider 端进行配置以使用公钥进行加密。在加密 ID Token 的 JWE 表示中,JOSE 标头在“alg”中包含“RSA-OAEP-256”,在“enc”中包含“A256CBC-HS512”。但是,现在启用加密后,当我尝试从 OIDC Provider 登录时,RHSSO 现在会引发以下异常:
错误 [org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider] (默认任务 94)无法使身份提供者 oauth 回调:org.keycloak.broker.provider.IdentityBrokerException:无效令牌
我已经单独测试以确认已正确生成加密的 ID 令牌。我一直在使用的 OIDC 提供商是这样的:https ://github.com/panva/node-oidc-provider
有什么我可能配置错误的吗?
编辑:更新以指示我尝试过的操作