como atualizar o token de acesso usando http personalizado no angular 2?
Estou usando autenticação baseada em token no meu aplicativo. Meu back-end é desenvolvido usando o serviço de descanso (primavera) .O código de back-end está gerando muito bem o token de acesso necessário e os tokens de atualização com as linhas de tempo, portanto, substitui a classe http pelo seguinte:
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);
}
}); } }
Estou ficando paralisado ao atualizar o token no método refresh (), pois estou recebendo um erro de dependência cíclica, então tentei usar o serviço de atualização em outro módulo, mas sem sorte. Estou usando a mesma abordagem mencionada nesteManipulando tokens de atualização usando rxjs Qualquer ajuda seria ótimo!