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

如何配置Spring Boot调用授权服务器自省端点验证JWT令牌

实现Spring Boot资源服务器调用授权服务器自省端点验证令牌

要实现强制调用授权服务器自省端点验证令牌,你只需要把原来的JWT本地验证配置切换为**令牌自省(Introspection)**配置即可,Spring Security OAuth2资源服务器原生支持该能力,无需复杂自定义代码。

1. 修改YAML配置文件

将原配置中的spring.security.oauth2.resourceserver.jwt节点替换为introspection节点,配置自省端点URL、资源服务器专属的客户端ID和密钥(需提前在授权服务器创建对应客户端并赋予自省权限):

server: 
  port: 8081
  servlet: 
    context-path: /resource-server-jwt

spring:
  security:
    oauth2:
      resourceserver:
        introspection:
          uri: http://localhost:8083/auth/realms/rasool/protocol/openid-connect/token/introspect
          client-id: 你的资源服务器客户端ID
          client-secret: 你的资源服务器客户端密钥

2. 授权服务器端配置(以Keycloak为例)

  • 在你的Keycloak realm(rasool)中创建一个新客户端,比如命名为resource-server-client
  • 开启客户端的Service Accounts Enabled选项
  • 在"Service Account Roles"页面,给该客户端添加introspect-tokens权限(如需获取用户信息可额外添加view-users)
  • 记录该客户端的Client ID和Client Secret,填入上面的配置文件

3. 验证逻辑说明

配置完成后,Spring Security会自动切换令牌验证逻辑:

  • 资源服务器收到请求中的Bearer令牌后,不再本地解析验证JWT签名
  • 直接将令牌发送到配置的自省端点,由授权服务器完成令牌有效性、过期时间、关联权限等验证
  • 授权服务器返回令牌元数据后,资源服务器基于该数据完成用户认证与授权

内容的提问来源于stack exchange,提问作者Rasool Ghafari

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 14:39:16