Estoy tratando de usar la Laravel app en algún otro dominio dentro de iframe .
Había escrito un FrameMiddleware en el que he permitido ese dominio en la cabecera
public function handle(Request $request, Closure $next) { $response = $next($request); $response->header('Content-Security-Policy', 'frame-ancestors http://localhost'); return $response; }y mediante el uso del error de origen cors de middleware anterior eliminado.
Como mi Laravel app necesita autenticación del iframe. y está utilizando el envío de formularios, no API. Entonces empieza a dar un
419 error Lo resolví agregando una ruta de inicio de sesión en VerifyCsrfToken Middleware $except array para excluir el error csrf .
luego verifico la network y la solicitud post para iniciar sesión da error 302
Probé el método de autenticación y el objeto de usuario autenticado regresa con la redirección de la página del Dashboard y luego se muestra 302 error code .
Además, configuré same_site => null en config/session.php pero aún no funciona.
Como dijo @apokryfos , necesito configurar la cookie para que sea secure y establecer SameSite=None .
config/session.php establecer: 'same_site' => 'none' y 'secure' => env('SESSION_SECURE_COOKIE', true) O configurando SESSION_SECURE_COOKIE = true en el archivo .env .
y no se olvide de crear FrameMiddleware , ya que puede seguir mi hilo de preguntas y white_labeled en blanco el dominio, es decir, http://localhost en el que está incrustando iframe.
Nota: puede verificar que cookies are secured or not junto con SameSite=Null utilizando las herramientas de desarrollo del navegador, como se muestra en la siguiente imagen: