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

Spring Authorization Server 0.3.0是否支持API接口动态注册客户端?

运行时新增Spring Authorization Server客户端方案提示
  • Spring Authorization Server本身未提供非OIDC场景下的内置客户端注册开放API,需要自行实现动态客户端管理功能
  • 核心实现思路基于框架的RegisteredClientRepository接口扩展:
    • 自定义管理接口:创建Controller暴露客户端新增接口,支持传入自定义客户端ID、密钥、授权类型等参数
    • 确保持久化支持:使用支持动态写入的RegisteredClientRepository实现(如JdbcRegisteredClientRepository搭配数据库,而非仅内存或配置文件加载的实现)
    • 示例代码片段:
      @RestController
      @RequestMapping("/admin/clients")
      public class ClientAdminController {
          private final RegisteredClientRepository clientRepository;
          private final PasswordEncoder passwordEncoder;
      
          public ClientAdminController(RegisteredClientRepository clientRepository, PasswordEncoder passwordEncoder) {
              this.clientRepository = clientRepository;
              this.passwordEncoder = passwordEncoder;
          }
      
          @PostMapping
          public ResponseEntity<String> addClient(@RequestBody ClientCreateRequest request) {
              RegisteredClient client = RegisteredClient.withId(UUID.randomUUID().toString())
                      .clientId(request.getCustomClientId()) // 使用自定义客户端ID
                      .clientSecret("{bcrypt}" + passwordEncoder.encode(request.getClientSecret()))
                      .authorizationGrantTypes(grantTypes -> grantTypes.addAll(request.getGrantTypes()))
                      .redirectUris(uris -> uris.addAll(request.getRedirectUris()))
                      .scopes(scopes -> scopes.addAll(request.getScopes()))
                      .clientSettings(ClientSettings.builder().requireAuthorizationConsent(true).build())
                      .build();
              clientRepository.save(client);
              return ResponseEntity.ok("客户端创建成功");
          }
      }
      
  • 关键注意事项:
    • 接口权限控制:必须为该管理接口添加严格的访问限制(如仅管理员IP、JWT令牌校验),防止未授权操作
    • 密钥加密:客户端密钥必须使用框架兼容的加密算法(如BCrypt)存储
    • 参数校验:新增客户端时需校验授权类型、重定向URI格式等参数的合法性

内容的提问来源于stack exchange,提问作者chirag nathwani

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 21:30:58