Истек срок обращения токена в угловых 6 - PullRequest
0 голосов
/ 25 апреля 2019

Я создаю угловое приложение, которое использует токен jwt для аутентификации. Я сохраняю токен в локальном хранилище для аутентификации остальных вызовов из внешнего интерфейса. Моя проблема заключается в том, что когда срок действия токена jwt истекает с сервера, приложение не отображает данные, так как срок действия токена jwt истек, но в локальном хранилище все еще истек токен. Я посмотрел на этот Обработка просроченного токена от Api в Angular 4 , но я не могу понять, что делать. Пожалуйста, помогите. Спасибо заранее.

Вот мой автор:

export class AuthGuard implements CanActivate {

  constructor(private router: Router) { }

  canActivate(

    next: ActivatedRouteSnapshot,
    state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
    if (localStorage.getItem('user')) {
      // logged in so return true

      return true;
    }

    // not logged in so redirect to login page with the return url
    this.router.navigate(['/login'], { queryParams: { returnUrl: state.url } });
    return true;
  }
}

Мой перехватчик ошибок:

@Injectable()
export class H401Interceptor implements HttpInterceptor {

    constructor(private authService: AuthService) { }

    intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
        return next.handle(request).pipe(catchError(err => {
            if (err.status === 401) {
                // auto logout if 401 response returned from api
                // this.authService.logout();
                // location.reload(true);
                localStorage.removeItem('currentUser');
            }

            const error = err.error.message || err.statusText;
            return throwError(error);
        }));
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...