Mi problema
Estoy protegiendo mis API con tokens oAuth JWT. Esto se establece cuando el usuario inicia sesión y luego se almacena en un localStorage. Este token luego se analiza como un encabezado de autenticación en la solicitud.
Esto funciona bien en navegadores de escritorio como Chrome y FireFox. Sin embargo, esto no funciona desde la aplicación ISO Safari.
Investigar
Según mi propia investigación ( las solicitudes Https con autorización no funcionan a través de Safari ), el error podría deberse a que Safari sobrescribió el encabezado de autenticación. Por lo tanto, traté de implementar un encabezado personalizado, pero el resultado es el mismo.
He confirmado que al iniciar sesión en ISO, el token JWT se crea correctamente, por lo que sé que el problema no está en la generación del token en sí.
Tecnologías Utilizadas
Estoy usando Axios en mi solicitud HTTP, VueJS en mi interfaz, Node.js en mi servidor y MongoDB como base de datos. A continuación, he copiado mi declaración de solicitud donde analizo el JWT en un encabezado personalizado:
let token = localStorage.getItem("jwt") axios({ method: 'post', url: 'http://localhost:4000/test/', headers: { 'Content-Type': 'application/json', 'token': 'Bearer ' + token }, data: { email: "test@test.com" } }).then(function (response) { console.log(response); }).catch(function (error) { console.log(error); }); }¿Alguien sabe una solución para esto? Según mi investigación del problema, puedo ver que otros enfrentan lo mismo, pero lamentablemente las soluciones propuestas no me ayudaron.
Gracias de antemano.