You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Keycloak中验证Auth0生成的Token?

解决方案:Keycloak Introspect Auth0 Token 提示"Key not found"

1. 修正JWKS的配置位置

你当前将Auth0的JWKS导入到了register客户端的密钥中,但Keycloak验证外部JWT时,需要在Realm级别配置JWKS提供者,而非客户端级别。操作步骤:

  • 进入Keycloak的master Realm,点击左侧菜单的 Realm Settings
  • 切换到 Keys 标签页,点击 Providers 子标签
  • 点击 Add Provider,选择 JWKS 类型
  • 填写配置项:
    • URL:https://dev-6raffvdrfo14pj0h.us.auth0.com/.well-known/jwks.json
    • Priority:设置为高于默认值(比如100),确保Keycloak优先使用该密钥验证
  • 保存后,Keycloak会自动拉取Auth0的公钥列表,包含日志中提到的kid=T1vLicgMxSzPE3KbhuUTn的密钥

2. 补充Introspect API的必填参数

你的introspect请求缺少了待验证的Token参数,Keycloak无法识别要验证的对象。修正后的curl命令需添加token参数:

curl --location 'http://localhost:8080/realms/master/protocol/openid-connect/token/introspect' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id=tokenValidXYZ' \
--data-urlencode 'client_secret=JdVsJNWAvoJ4bdL5z7zP8zzGePWJPXYZ' \
--data-urlencode 'token=YOUR_AUTH0_GENERATED_TOKEN'

将YOUR_AUTH0_GENERATED_TOKEN替换为从Auth0获取的实际Token值。

3. 确保受众(Audience)匹配验证

从Auth0获取的Token受众为https://dev-6raffvdrfo14pj0h.us.auth0.com/api/v2/,需要确保Keycloak认可该受众:

  • 打开用于introspect的tokenValidXYZ客户端配置页面
  • 切换到 Advanced 标签页,找到 Valid Audiences 配置项
  • 添加https://dev-6raffvdrfo14pj0h.us.auth0.com/api/v2/到列表中,保存配置

4. 验证公钥kid匹配

完成JWKS配置后,回到Realm的Keys页面,确认存在kid=T1vLicgMxSzPE3KbhuUTn的公钥。如果未显示,点击JWKS提供者的Refresh按钮手动拉取最新密钥。


内容的提问来源于stack exchange,提问作者anand kushwaha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 09:37:14