public async Task InvokeAsync(HttpContext httpContext, IAutenticacaoService autenticacaoService) { _autenticacaoService = autenticacaoService; if (_autenticacaoService.TokenExpirados()) { if (_autenticacaoService.RefreshTokenValido().Result) { httpContext.Response.Redirect(httpContext.Request.Path); } } await _next(httpContext); }
private static void HandleRequestExceptionAsync(HttpContext context, HttpStatusCode statusCode) { if (statusCode == HttpStatusCode.Unauthorized) { if (_autenticacaoService.TokenExpirados()) { if (_autenticacaoService.RefreshTokenValido().Result) { context.Response.Redirect(context.Request.Path); return; } } _autenticacaoService.Logout(); context.Response.Redirect($"/login?ReturnUrl={context.Request.Path}"); return; } context.Response.StatusCode = (int)statusCode; }