Для разрабатываемого приложения Angular 7 я использую HttpInterceptor для отправки токена при каждом запросе. Это выглядит примерно так:
export class JwtInterceptor implements HttpInterceptor {
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
let currentUser = JSON.parse(localStorage.getItem('currentUser'));
if (currentUser && currentUser.token) {
request = request.clone({
setHeaders: {
Authorization: `Bearer ${currentUser.token}`
}
});
}
return next.handle(request);
}
Чтобы превратить это приложение в прогрессивное веб-приложение, я использую @ angular / service-worker и @ angular / pwa. Конфигурация не сложная, я подумал, так что похоже, что она должна работать. Но проблема в том, что я не могу найти способ улучшить этого работника, всегда отправляя токен с каждым запросом. Я знаю, что местное хранилище недоступно в работнике, но сейчас это не проблема. Сначала мне нужно найти способ, как работает HttpInterceptor. Есть ли стандартное решение этой проблемы?