- 1

Conexión a REST APIs con Angular HTTP y buenas prácticas
02:58 - 2

Solicitudes GET en APIs con Angular: Obtener Productos
10:41 - 3

Consulta de Producto Específico en eCommerce con Angular
11:31 - 4

Integración de Swiper en Angular para Galería de Productos
08:12 - 5

Creación de Productos con POST y Data Transfer Objects en Angular
15:59 - 6

Actualización de Datos con Métodos PUT y PATCH en APIs
14:23 - 7

Eliminar productos con solicitudes DELETE en Angular
06:04 - 8

Paginación de Productos con Parámetros URL en Angular
12:45 - 9

Ventajas de los Observables sobre Promesas en Angular
12:22 - 10

Implementación de Retry con Observadores en Angular
03:23
Interceptores en Angular: Agregar Token Automáticamente
Clase 19 de 23 • Curso de Consumo de APIs REST con Angular
Contenido del curso
- 11

Solución de Problemas CORS en Aplicaciones Angular
11:33 - 12

Gestión de Ambientes en Angular: Desarrollo vs Producción
05:06 - 13

Manejo de Errores en Observables con Angular
12:06 - 14

Transformaciones de Datos en el Frontend con Map y Pipes
06:02 - 15

Evitando el Callback Hell con SwitchMap y ZIP en Observables
10:42
- 16

Autenticación con JWT: Implementación y Gestión de Sesiones en APIs
19:43 - 17

Autenticación y Manejo de Tokens en Peticiones HTTP
09:31 - 18

Implementación de Interceptores en Angular para Medir Tiempos de Respuesta
08:03 - 19

Interceptores en Angular: Agregar Token Automáticamente
15:04 - 20

Uso de Contextos para Interceptores en Angular
05:50
El uso principal para los Interceptores es para la inyección del token en las request.
Inyección de token
Veamos cómo puedes utilizar los interceptores para la inyección de token a las solicitudes HTTP.
1. Crea el interceptor
Para esto, crea un nuevo interceptor que lea el token desde el storage donde decidiste guardarlo y posteriormente inyectarlo en las peticiones.
// interceptors/token-interceptor.interceptor.ts
@Injectable()
export class TokenInterceptorService implements HttpInterceptor {
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<unknown>> {
request = this.addHeaders(request);
return next.handle(request)
}
private addHeaders(request: HttpRequest<any>) {
let token: string | null = '';
token = localStorage.getItem('platzi_token');
if (token) {
return request.clone({
setHeaders: {
Authorization: `Bearer ${token}`
}
});
} else {
return request;
}
}
}
2. Duplicando la solicitud
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.
// app.module.ts
import { ErrorsInterceptor } from './interceptors/errors.interceptor';
import { TokenInterceptorService } from './interceptors/token-interceptor.interceptor';
@NgModule({
providers: [
{ provide: HTTP_INTERCEPTORS, useClass: ErrorsInterceptor, multi: true },
{ provide: HTTP_INTERCEPTORS, useClass: TokenInterceptorService, multi: true }
]
})
export class AppModule { }
Agrégalo a los providers y si ya tienes otro interceptor, también agrega la propiedad multi: true a cada uno de ellos.
Contribución creada por: Kevin Fiorentino.