Además, en las versiones más recientes de Spring Security, la configuración de CSRF ha cambiado, y ahora se puede manejar de manera más flexible.
Si estás utilizando una versión de Spring Security más moderna (5.x o 6.x), la configuración de CSRF puede hacerse de la siguiente manera para habilitar o deshabilitar la protección, o personalizarla si es necesario.
Para habilitar la protección CSRF (que es el comportamiento por defecto), puedes configurarlo de esta forma:
http
    .csrf(csrf -> csrf
        .csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())
    );
Esto configura CSRF para usar un CookieCsrfTokenRepository, que almacena el token CSRF en una cookie. Esta configuración es útil si estás trabajando con aplicaciones SPA (Single Page Applications) o aquellas que requieren que el token esté accesible para JavaScript.
Si necesitas configurar CSRF con métodos más personalizados, puedes usar un CsrfTokenRepository distinto o ajustar el comportamiento con filtros adicionales.
Ejemplo de configuración avanzada:
http
    .csrf(csrf -> csrf
        .csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())
        .ignoringAntMatchers("/api/auth/**")  // Ignora CSRF para ciertas rutas
    )
    .authorizeRequests()
        .antMatchers("/api/**").authenticated()
        .anyRequest().permitAll();
Este código habilita CSRF con un repositorio de token basado en cookies y permite personalizar las rutas que no requieren protección CSRF (por ejemplo, las rutas de autenticación).
Con estas configuraciones, puedes manejar la protección CSRF de forma más moderna y ajustada a tus necesidades.