La función addHeaders() recibe la request y usando clone() crea una copia de si misma para inyectar el token. De no existir este, devuelve la request tal cual fue recibida.
De esta manera, limpias por completo tu servicio que se ocupa de la autenticación de usuarios y centralizas toda la lógica de inyección de headers en el interceptor.
Y no olvides de importar el nuevo interceptor en tu módulo.
localStorage y sessionStorage son propiedades que acceden al objeto Storage y tienen la función de almacenar datos de manera local, la diferencia entre éstas dos es que localStorage almacena la información de forma indefinida o hasta que se decida limpiar los datos del navegador y sessionStorage almacena información mientras la pestaña donde se esté utilizando siga abierta, una vez cerrada, la información se elimina.
me da anciedad cuando el profe hace los imports manualmente xD
x2
Por qué anciendad? Podrías explicarme?
este tema de los interceptores me recordó a los middleware de express con node.js, una cosa bastante picante amigos!!!
Estoy implementando el interceptor para el Token pero al inpeccionar el codigo en red no me muestra la informacion de Authorization, me podrias indicar si es normal o porque sucede esto?
Muestra tu código.
¿sí lo declaraste en los providers de tu app.module.ts?
el HttpRequest<unknown> es una referencia genérica?
Sí. es un tipo de respuesta. Que dentro, contiene algo que tu API te ha devuelto, ya sea la data que solicitaste.
Por lo que, puedes tiparlo con el tipo de dato que esperas del API.
Unknown es un tipo de dato que recomiendo usar en lugar de any
Dejo acá un poco de info al respecto:
Deja de usar el tipo de dato Any en Typescript
Gente , los que ya hicieron el curso de angular 17 , no estaría chido probar hacer lo del token con un computed o un signal ?.
Sí, y de hecho es una práctica altamente recomendada por motivos de seguridad. Mientras que localStorage es vulnerable a ataques XSS (Cross-Site Scripting) porque cualquier script de JavaScript en el navegador puede leer su contenido, las cookies pueden configurarse con la bandera HttpOnly. Cuando una cookie es HttpOnly, el navegador prohíbe estrictamente que JavaScript acceda a ella, mitigando el riesgo de robo de tokens. Además, si configuras la cookie con los atributos Secure (solo viaja por HTTPS) y SameSite (previene ataques CSRF), elevas drásticamente la seguridad de tu aplicación. Para implementarlo en Angular, el backend debe enviar el token directamente en un encabezado Set-Cookie durante el login, y el navegador se encargará de adjuntarlo automáticamente en las siguientes peticiones.