Spring Security 7.0 の新機能

Spring Security 7.0 には、いくつかの新機能があります。以下はリリースのハイライトです。また、各機能とバグ修正の詳細なリストについては、リリースノート [GitHub] (英語) を参照してください。

削除

メジャーリリースであるため、Spring Security 7 では非推奨の API がいくつか削除されています。以降の各セクションでは、特に注目すべき削除内容と、そのモジュールの新機能について説明します。

モジュール

コア

構成

  • サーブレットおよび WebFlux のモジュラー構成をサポート

  • ラムダメソッドの使用を優先して、HttpSecurity DSL から and() を削除しました。

  • authorizeRequests を削除して authorizeHttpRequests に変更しました

  • authorizeRequests の簡略化された式移行

  • SPA ベースの CSRF 設定のサポートを追加しました

  • Added support for binding missing authorities to authentication mechanisms (Javadoc) .

    Java
    http.csrf((csrf) -> csrf.spa());

暗号

  • 一般的なハッシュアルゴリズムの代替実装を提供する Password4j ベースのパスワードエンコーダーを追加しました。

    • Argon2Password4jPasswordEncoder - Argon2

    • BcryptPassword4jPasswordEncoder - BCrypt

    • ScryptPassword4jPasswordEncoder - SCrypt

    • Pbkdf2Password4jPasswordEncoder - PBKDF2

    • BalloonHashingPassword4jPasswordEncoder - Balloon Hashing

データ

  • Spring Data 型の承認済みオブジェクトのサポートを追加しました

LDAP

  • UnboundID を優先して、ApacheDsContainer および関連する Apache DS のサポートを削除しました。

OAuth 2.0

  • パスワード付与のサポートを削除しました

  • HTTP サービスクライアントに OAuth2 サポートを追加しました

  • NimbusJwtDecoder にカスタム JwkSource のサポートを追加し、Nimbus の JwkSourceBuilder API の使用を可能にしました。

  • NimbusJwtEncoder のビルダーを追加しました。EC または RSA キーペアまたは秘密鍵の指定をサポートします

  • Added support for @ClientRegistrationId at the type level, eliminating the need for method level repetition

  • OAuth 2.0 Dynamic Registration Protocol [GitHub] (英語) のサポートを追加

  • OAuth 2.0 認可サーバーで PKCE by default [GitHub] (英語) を有効にする

SAML 2.0

  • AssertingPartyDetails クラスに基づく API メソッドを削除し、AssertingPartyMetadata インターフェースを採用しました。

  • Removed GET request support from Saml2AuthenticationTokenConverter

  • Added JDBC-based AssertingPartyMetadataRepository

  • Made so that SLO still returns <saml2:LogoutResponse> even when validation fails

  • Removed Open SAML 4 support; applications should migrate to Open SAML 5

Web

  • Removed MvcRequestMatcher and AntPathRequestMatcher in favor of PathPatternRequestMatcher

  • SubjectX500PrincipalExtractor (Javadoc) を追加

  • Added support for propagating exceptions in Authorized proxies through Spring MVC controllers

  • Spring MVC 型の承認済みオブジェクトのサポートを追加しました

  • Added support to Default Login Page to show factors based on factor.type and factor.reason parameters

  • Changed LoginUrlAuthenticationEntryPoint to favor relative redirects by default