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); }
public static void HandleRequestExpectionAsync(HttpContext httpContext, HttpStatusCode statusCode) { if (statusCode == HttpStatusCode.Unauthorized) { if (_autenticacaoService.TokenExpirado()) { if (_autenticacaoService.RefreshTokenValido().Result) { httpContext.Response.Redirect(httpContext.Request.Path); return; } } _autenticacaoService.Logout(); httpContext.Response.Redirect($"/login?ReturnUrl={httpContext.Request.Path}"); return; } httpContext.Response.StatusCode = (int)statusCode; }