let token = localStorage.getItem('token');
// if token is not valid or not set
if ((this.jwtHelper.isTokenExpired(token) || token === null)) {
if (token_refresh !== null) {
// if token_refresh exists and is valid
this.authService.refreshToken(token_refresh).subscribe(
response => {
localStorage.setItem('token', response.token);
token = response.token;
request = request.clone({
setHeaders: {
Authorization: `Bearer ${token}`
}
});
}
);
} else {
// if no token_refresh exists or is expired
this.router.navigate(['/register']);
}
} else {
request = request.clone({
setHeaders: {
Authorization: `Bearer ${token}`
}
});
}
You can an else block to execute if you don't need to refresh the token, and add that code block again after you get a fresh token.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…