Tengo una aplicación en línea que ha estado funcionando durante un par de años.
Codeigniter 3.1.11, PHP 7.2
He agregado una función en línea para los clientes para que puedan usarla en su sitio web usando un iframe
<iframe src="https://www.mywebsite.com/client/login" allowfullscreen="" frameborder="0" id="fileframe"></iframe>Todo funciona bien en la plataforma Windows o en el sistema operativo Android, pero en MacOS parece que los valores de la sesión se pierden cuando se redirige la página
redirect('client/index', 'refresh');Si muestro la vista directamente, los valores de la sesión se mantienen, pero desafortunadamente, tengo que usar el método de redirección
$this->load->view('client/index', $this->data);Aquí está la parte de configuración que podría ser útil saber
$config['sess_driver'] = 'files'; $config['sess_cookie_name'] = 'ci_session'; $config['sess_expiration'] = 7200; $config['sess_save_path'] = NULL; $config['sess_match_ip'] = FALSE; $config['sess_time_to_update'] = 300; $config['sess_regenerate_destroy'] = FALSE; $config['cookie_prefix'] = ''; $config['cookie_domain'] = ''; $config['cookie_path'] = '/; SameSite=None'; $config['cookie_secure'] = TRUE; $config['cookie_httponly'] = FALSE;Y así es como se ve la sesión después de iniciar sesión y antes de la página de redirección
Array ( [__ci_last_regenerate] => 1628374247 [logged_in] => 1 [csid] => 16196 [csname] => customer [clname] => client [clid] => 115 )Y esto es lo que la sesión después de la página de redirección
Array ( [__ci_last_regenerate] => 1628374247 [logged_in] => ) Cuando se carga una página, habrá validación en algunos de los valores de la sesión, una vez que intento iniciar sesión con Mac Pro o IPhone con Safari o Chrome, se redirige a la página de inicio de sesión ya que los valores de la sesión ya se perdieron. Como mencioné antes, ¡el mismo código exacto funciona bien en los sistemas operativos Windows y Android!
Si trato de iniciar sesión directamente desde mi sitio web, no a través del "iframe" del sitio web del cliente, funciona bien con MacOS en Safari y Chrome.
¡No estoy seguro de por qué MacOS se comporta de esta manera cuando un iframe solía incrustar otro sitio web!
Cualquier comentario o sugerencia es muy apreciada.