Jwt 当客户端设置指定RS256时,为什么KeyClope使用HS256算法对访问令牌进行签名?

Jwt 当客户端设置指定RS256时,为什么KeyClope使用HS256算法对访问令牌进行签名?,jwt,keycloak,digital-signature,keycloak-rest-api,Jwt,Keycloak,Digital Signature,Keycloak Rest Api,我使用KeyClope身份验证服务器和应用程序进行了以下设置: 用户在应用客户端登录,向服务器发送un/pw 应用服务器将un/pw发送到KeyClope服务器以获取令牌 KeyClope服务器将令牌发送回应用程序服务器 应用服务器输出包含敏感数据的网页 我想使用RS256对我的代币进行签名。当我尝试在客户端获取令牌时,它们使用RS256正确签名,但一旦我尝试在应用服务器上获取令牌,就会使用HS256。在这两种情况下,我如何设置KeyClope以使用RS256 我使用/auth/realms/{

我使用KeyClope身份验证服务器和应用程序进行了以下设置:

  • 用户在应用客户端登录,向服务器发送un/pw
  • 应用服务器将un/pw发送到KeyClope服务器以获取令牌
  • KeyClope服务器将令牌发送回应用程序服务器
  • 应用服务器输出包含敏感数据的网页
  • 我想使用RS256对我的代币进行签名。当我尝试在客户端获取令牌时,它们使用RS256正确签名,但一旦我尝试在应用服务器上获取令牌,就会使用HS256。在这两种情况下,我如何设置KeyClope以使用RS256

    我使用/auth/realms/{REALM_NAME}/protocol/openid connect/token端点和keydape 10.0.1

    密钥斗篷配置:

    • 钥匙
      • 域的默认签名算法设置为RS256
      • 第一个配置:领域键是HS256、AES和RS256(按此顺序列出),它们的优先级都是100
      • 第二个配置:我将RS256键优先级设置为更高的值,但使用的是HS256
      • 作为最后一次尝试,我在领域中每隔一个键设置一个被动键。在对令牌进行签名时,KeyClope只生成了一个“fallback hs256”密钥来代替活动的rs256
    • 客户
      • 客户端的访问令牌签名算法和ID令牌签名算法设置为RS256
      • 客户是公开的
      • 有效的重定向URI包含应用程序服务器当前运行的域(它是本地主机,但我的计算机有域名)
      • WebOrigins设置为“+”(据我所知,它从有效的red.uri复制条目)
    请求:

    • 源、引用和内容类型标头与应用程序客户端和应用程序服务器请求中的匹配
    • 浏览器和邮递员都可以像预期的那样作为客户端工作
    • appserver是php,我使用curl发出post请求(客户端也发出post请求)
    • 客户端和应用程序服务器都在本地计算机上运行
    谷歌似乎没有返回与我的问题相关的结果。在修改任何设置后重新启动KeyClope服务器似乎也不会带来任何结果,因此我假设我所做的任何更改都会自动使用