Я работаю над управлением сеансом входа в систему jwt с бэкэндом .net core 2.1 и внешним интерфейсом angular 6, когда я отправляю jwt, мой браузер выдает эту ошибку et :: ERR_INCOMPLETE_CHUNKED_ENCODING 200 (ОК). Но, проверяя почтальона, он работает правильно. Это начало происходить, так как я добавил промежуточное программное обеспечение в свой бэкэнд-код, который обрабатывает токены
Снимок экрана с ошибкой
Код промежуточного программного обеспечения:
public class JwtTokenMiddleware : IMiddleware
{
private readonly ISessionManager _sessionManager;
public JwtTokenMiddleware(ISessionManager sessionManager)
{
_sessionManager = sessionManager;
}
public async Task InvokeAsync(HttpContext context, RequestDelegate next)
{
if (context.Request.Path.Value.Contains("/api/values/loginuser"))
{
await next(context);
}
else if (_sessionManager.IsCurrentActiveToken())
{
_sessionManager.UpdateTokenExpiryTime();
await next(context);
}
context.Response.StatusCode = (int)HttpStatusCode.OK;
context.Response.ContentType = "application/json";
await context.Response.WriteAsync(new ErrorDetails()
{
StatusCode = (int)HttpStatusCode.Unauthorized,
Type = 3,
Message = "Expired Token"
}.ToString());
}
Обновление: мой код работает отлично, если я удаляю промежуточное ПО. Проблема не в передаче-кодировке = chunked. Но промежуточное программное обеспечение очень важно для моего кода
Устранена проблема: проблема заключалась в том, что моему бэкэнду требовалось много времени, чтобы дать ответ. Итак, мне пришлось оптимизировать код так, чтобы он выдавал вывод менее чем за 300 мс времени