如何将 Keycloak 配置为默认使用 HMAC 算法而不是 RSA?

How can I configure Keycloak to use HMAC algorithm as default instead of RSA?

我在 Keycloak 中创建了一个新领域,在管理选项卡 Keys -> Active 中我可以看到三个条目:RSA、HMAC、AES。

每当生成 JWT 令牌时,使用的签名算法都是 RSA。如何改用 HMAC?

我有同样的问题并找到了以下答案:

最新文档说访问令牌仅支持 rsa。 (http://www.keycloak.org/docs/3.3/server_admin/topics/realms/keys.html)

计划使用 hmac 签署刷新令牌。查看此用户邮件列表条目以获取更多详细信息: “无论如何,通过 HMAC 签署 accessTokens 和 idTokens 并不是很好,因为 应用程序将需要访问领域签名密钥。因为它是 对称的东西。这可能是安全漏洞,因为应用程序可以 自己生成和签署令牌。因此,我们宁愿依赖 非对称密码学 - Keycloak 使用私钥和 应用程序只有 public 密钥来验证签名。” http://lists.jboss.org/pipermail/keycloak-user/2017-May/010809.html

这是它的 JIRA: https://issues.jboss.org/browse/KEYCLOAK-4623 和内部 https://issues.jboss.org/browse/KEYCLOAK-4622