Можете ли вы рассказать, как вы обновляете токен (this.authenticationService.updateToken ())?
ользую аутентификацию на основе токенов в своем приложении. Мой бэкэнд разработан с использованием службы restful (spring). Код бэкенда очень хорошо генерирует требуемый токен доступа и обновляет токены с временными рамками, поэтому я переопределил класс http следующим образом:
export class customHttp extends Http {
headers: Headers = new Headers({ 'Something': 'Something' });
options1: RequestOptions = new RequestOptions({ headers: this.headers });
private refreshTokenUrl = AppSettings.REFRESH_TOKEN_URL;
constructor(backend: ConnectionBackend,
defaultOptions: RequestOptions,private refresh:OauthTokenService) {
super(backend, defaultOptions);
}
request(url: string | Request, options?: RequestOptionsArgs): Observable<Response> {
console.log("custom http ");
return super.request(url, options)
.catch((err) => {
if (err.status === 401) {
console.log(" custome http 401 ");
// refresh the token
this.refresh.refresh().subscribe((tokenObj)=>{
console.log("tokenobj ");
})
} else {
console.log("err " + err);
}
}); } }
Я застреваю при обновлении токена в методе refresh (), так как получаю ошибку циклической зависимости, поэтому я попытался использовать службу обновления в другом модуле, но безуспешно. Я использую тот же подход, как указано в этомОбработка токенов обновления с помощью rxjs Любая помощь будет отличной!