Tengo un sitio web donde almaceno un token de autenticación en una cookie con una caducidad de 5 años. A pesar de eso, tanto Safari de escritorio como móvil tiende a colocar esta cookie de vez en cuando (a veces dura 2 meses, a veces se elimina en una semana). Esto es muy impredecible para mis usuarios.
También intenté almacenar el mismo token en Almacenamiento local en lugar de una Cookie, el resultado es exactamente el mismo.
Tanto la cookie como el elemento de almacenamiento local están configurados por JavaScript/AngularJS en el lado del cliente:
window.localStorage.setItem('token', 'secret-token'); angular.module('app', ['ngCookies']) .controller('Ctrl', ['$cookies', function($cookies) { var expireDate = new Date(); expireDate.setDate(expireDate.getDate() + 5*365); $cookies.put('token', 'secret-token', { 'expires': expireDate }); }]);No he encontrado ninguna documentación que describa este comportamiento especialmente aleatorio.