Dudder, если честно - не понимаю зачем в нем что-то хранить в целом, время жизни у Refresh'a тоже должно быть время жизни, в базу полезете всё равно, а там можно и связь на таблицу пользователей сделать
Лично у нас сделано так, что Refresh живет независимо от JWT, JWT живет как правило несколько минут, а Refresh может жить хоть год. Поэтому у нас сделано так, что после недели неактивности можно по Refresh'y взять новый JWT и продолжать работать. Refresh'и держим в базе, при попытке обновить JWT по Refresh'y - смотрим в базу и строим новый JWT. Имхо, но нет смысла держать в Refresh'e данные, т.к. за время жизни JWT и Refresh'a могут поменяться данные человека, в т.ч. роли, имя, почта и прочее, иногда эти данные нужны в JWT.
Поэтому вам не обязательно получать никакие данные от пользователя, достаточно сам Refresh token, а по нему в базе посмотреть кто его запрашивает и выдать новый JWT. (ИМХО(!))
Andrei SunnyPh, еще раз говорю, что Middleware только в API. Blazor server отправляет на API http запрос, в middleware API(!!!) нет тела запроса, хотя в контроллере данные есть.
Andrei SunnyPh, слишком много воды, извините. Вы не по теме, я вам про ошибку - а вы мне про паттерн. У меня нет проблем с отправкой запроса. Где формируется запрос? А где он должен формироваться? В обоих случаях со страницы отправляется обычный HTTP запрос, в обоих случаях код одинаковый. Интересует почему при отправке запроса с Blazor Server'a в API нет тела запроса, хотя данные в контроллер попадают полностью. (Middleware только в API, в блазоре его нет)
Andrei SunnyPh, опытным путем уже понял, что данные передаются там протоколом MessagePack, вызов методов в Blazor сервер происходит на сервере, на сервер передается событие клика, поэтому, видимо, то, что я хочу, нельзя сделать :(
Andrei SunnyPh, пример с авторизацией просто, допустим, что будет обращение к сервису товаров. В посте я и указал, что Middleware не перехватывает это дело, только подключение к хабу, как я понял, но и там в теле запроса ничего нет.