Spring Security 7.0 の新機能

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

削除

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

モジュール

コア

構成

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

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

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

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

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

  • 不足している権限を認証メカニズムにバインドする (Javadoc) ためのサポートが追加されました。

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

暗号

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

データ

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

LDAP

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

OAuth 2.0

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

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

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

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

  • 型レベルでの @ClientRegistrationId のサポートが追加され、メソッドレベルの繰り返しが不要になりました。

  • OAuth 2.0 動的登録プロトコル [GitHub] (英語) のサポートを追加

  • OAuth 2.0 認可サーバーでデフォルトで PKCE [GitHub] (英語) を有効にする

SAML 2.0

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

  • Saml2AuthenticationTokenConverter から GET リクエストのサポートを削除しました

  • JDBC ベースの AssertingPartyMetadataRepository を追加

  • 検証に失敗しても SLO が <saml2:LogoutResponse> を返すようにしました

  • Open SAML 4 のサポートが削除されました。アプリケーションは Open SAML 5 に移行する必要があります。

Web

  • MvcRequestMatcher と AntPathRequestMatcher を削除し、PathPatternRequestMatcher を導入しました。

  • SubjectX500PrincipalExtractor (Javadoc) を追加

  • Spring MVC コントローラーを介して承認プロキシで例外を伝播するためのサポートを追加しました

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

  • デフォルトのログインページに、factor.type および factor.reason パラメーターに基づく要素を表示するためのサポートを追加しました。

  • LoginUrlAuthenticationEntryPoint をデフォルトで相対リダイレクトを優先するように変更しました