I need help in handling expired token in my angular application. My api has the expired time but my problem is when i forgot to log out of my angular application, after some tim
You can do this using http interceptors.
intercept(req: HttpRequest, next: HttpHandler) {
if(!localStorage.getItem('token'))
return next.handle(req);
// set headers
req = req.clone({
setHeaders: {
'token': localStorage.getItem('token')
}
})
return next.handle(req).do((event: HttpEvent) => {
if(event instanceof HttpResponse){
// if the token is valid
}
}, (err: any) => {
// if the token has expired.
if(err instanceof HttpErrorResponse){
if(err.status === 401){
// this is where you can do anything like navigating
this.router.navigateByUrl('/login');
}
}
});
}
Here's the full solution