обновить токен и отправить запрос заново.
Запрос на обновление токена уходит, но повторить этот же самый запрос не получается.
intercept(
request: HttpRequest<any>,
next: HttpHandler
): Observable<HttpEvent<any>> {
return next
.handle(request)
.do(result => {
console.log(result);
})
.catch(error => {
return this.tokenService
.refreshToken()
.map(data => {
return request.clone({
setHeaders: {
Authorization: `Bearer ${data.access_token}`
}
});
})
.mergeMap(next.handle);
});
}
Кто сталкивался?
В catchError вторым параметром передается тот, кто сгенерировал ошибку. Может его и надо возвращать после обновления
return next .handle(this.request(request)) .pipe(retryWhen(errors => errors.pipe(mergeMap(error => error === 401 ? auth.authorization$ : ErrorObservable.throw(error)))));
Обсуждают сегодня