I need to refresh my token, but HttpErrorResponse does not return the result of the request.
get http://127.0.0.1:8000/api/pdv return response : {"token_error":"token_expired"}
but, when my token is expired I receive (Cross-Origin Request Blocked). just this case.
here is my config
config/cors I'm used barryvdh/laravel-cors
'supportsCredentials' => false,
'allowedOrigins' => ['*'],
'allowedOriginsPatterns' => [],
'allowedHeaders' => ['*'],
'allowedMethods' => ['*'],
'exposedHeaders' => [],
'maxAge' => 0,
middlewareGroups
'api' => [
\Barryvdh\Cors\HandleCors::class,
'throttle:60,1',
'bindings',
],
I try get response with (obs: console.log(error.error) is undefined)
const error = (typeof errorResponse.error !== 'object') ? JSON.parse(errorResponse.error) : errorResponse.error;
console.log(error.error)
return next.handle(request)
.pipe(
catchError((errorResponse: HttpErrorResponse) => {
// return next.handle(request)
const error = (typeof errorResponse.error !== 'object') ? JSON.parse(errorResponse.error) : errorResponse.error;
console.log(error.error)
// return ;
// || (errorResponse.status === 0)
if (errorResponse.status === 401 && error.error === 'token_expired') {
const http = this.injector.get(HttpClient);
return http.post<any>(`${API}/auth/refresh`, {})
.pipe(
flatMap(data => {
localStorage.setItem("token", data.token)
const authRequest = request.clone({ setHeaders: { 'Authorization': `Bearer ${data.token}` } })
return next.handle(authRequest)
})
)
}
return throwError(errorResponse);
})
)
}
I need to get this return "token_expired" then refresh token.
console.log(error.error)
console.log(errorResponse)