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

迁移至Spring Boot 3.4.0:OAuth2AuthorizationServerConfiguration#applyDefaultSecurity已废弃

你的替换方式完全正确,且符合官方设计意图

你的代码其实完全复刻了OAuth2AuthorizationServerConfiguration#applyDefaultSecurity的底层核心逻辑,这也是官方废弃该静态方法后推荐的标准写法,测试通过是合理的,无需担心功能一致性。

补充说明与优化建议

  1. 官方废弃静态方法的原因
    原静态方法封装了所有默认配置,灵活性不足。新的HttpSecurity#with方式,让开发者可以直观地对授权服务器配置做自定义扩展,比如调整客户端认证逻辑、添加自定义端点处理器等,无需依赖静态方法的黑盒封装。

  2. 简化写法(无需额外变量)
    如果不需要提前自定义OAuth2AuthorizationServerConfigurer,可以直接链式调用简化代码:

    http
        .securityMatcher(OAuth2AuthorizationServerConfigurer.authorizationServer().getEndpointsMatcher())
        .with(OAuth2AuthorizationServerConfigurer.authorizationServer(), Customizer.withDefaults())
        .authorizeHttpRequests(authorize -> authorize.anyRequest().authenticated());
    
  3. 自定义扩展示例
    若后续需要调整授权服务器行为,比如自定义客户端认证转换器,可直接在OAuth2AuthorizationServerConfigurer上配置,这也是新写法的优势:

    var authorizationServerConfigurer = OAuth2AuthorizationServerConfigurer.authorizationServer();
    // 自定义客户端认证逻辑
    authorizationServerConfigurer.clientAuthentication(clientAuth -> 
        clientAuth.authenticationConverter(customClientAuthenticationConverter())
    );
    
    http
        .securityMatcher(authorizationServerConfigurer.getEndpointsMatcher())
        .with(authorizationServerConfigurer, Customizer.withDefaults())
        .authorizeHttpRequests(authorize -> authorize.anyRequest().authenticated());
    

内容的提问来源于stack exchange,提问作者Roar S.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 02:33:11