Spring Security Sessions sin cookies

Estoy tratando de administrar sesiones en Spring Security sin aprovechar las cookies. El razonamiento es: nuestra aplicación se muestra dentro de un iframe de otro dominio, necesitamos administrar sesiones en nuestra aplicación, y Safari restringe la creación de cookies entre dominios. (contexto: domainA.com muestra domainB.com en un iframe. domainB.com está configurando una cookie JSESSIONID para aprovechar en domainB.com, pero dado que el navegador del usuario muestra domainA.com, Safari restringe que domainB.com cree la cookie) .

La única forma en que puedo pensar en lograr esto (en contra de las recomendaciones de seguridad de OWASP) es incluir el JSESSIONID en la URL como un parámetro GET. No quiero hacer esto, pero no puedo pensar en una alternativa.

Así que esta pregunta es sobre:

¿Existen mejores alternativas para abordar este problema? Si no, ¿cómo puedo lograr esto con Spring Security

Revisando la documentación de Spring sobre esto, usando enableSessionUrlRewriting debería permitir esta

Así que hice esto:

@Override
protected void configure(HttpSecurity http) throws Exception {
    http
        .sessionManagement()
            .sessionCreationPolicy(SessionCreationPolicy.ALWAYS)
            .enableSessionUrlRewriting(true)

Esto no agregó el JSESSIONID a la URL, pero debería permitirse ahora. Luego aproveché un código encontradoen esta pregunta para establecer el "modo de seguimiento" en URL

@SpringBootApplication
public class MyApplication extends SpringBootServletInitializer {

   @Override
   public void onStartup(ServletContext servletContext) throws ServletException {
      super.onStartup(servletContext);

      servletContext
        .setSessionTrackingModes(
            Collections.singleton(SessionTrackingMode.URL)
      );

Incluso después de esto: la aplicación aún agrega JSESSIONID como una cookie y no en la URL.

¿Puede alguien ayudarme a señalarme en la dirección correcta aquí?

Respuestas a la pregunta(4)

Su respuesta a la pregunta