бронировании ( не сделал рол админа). Для того чтобы получить все бронирования я отправлю только ид пользователя.
Как защитить с помощью identity данные пользователя?
Не нужно отправлять ИД пользователя, он должен быть получен из механизма авторизации, на сервере, а иначе любой злоумышленник может получить конфиденциальные данные просто зная и отправляя ИД пользователя.
каким образом он их получит?
При авторизации?
Да, только что узнал, надо как-то с помощью jwt tokens Однако я должен отправить token в бек энд как параметр к моей функций и оттуда взять данные?
Токен отправляется в заголовке каждого запроса от фронта к бэку (или от бэка к другому бэку)
Совать токен как параметр метода и руками его там потрошить конечно можно, но совсем уж дико, для этого и есть встроенные механизнмы типа Идентити, он сам это делает, и дает возможность получить текущего пользователя согласно вашему методу авторизации, читайте статьи по нему, описывать тут слишком много.
Можешь отправить какую именно?
злоумышленник получит как какие-то данные по иду юзера или иду еще чего-то? ему просто бек не отдаст ничего конфединциального если злоумышленник не авторизован
Например эту https://learn.microsoft.com/en-us/aspnet/core/security/authentication/identity?view=aspnetcore-7.0&tabs=visual-studio
Не пишите фигню, у человека вообще нет авторизации, он просто по ИД юзера получает данные, об этом я ему и сказал что так делать не стоит, это небезопасно.
токен отправляется в заголовке Authorization ASP.NET Core автоматически преобразует токен в ClaimsPrincipal, он доступен в контроллере как свойство User у HttpContext, то есть — public async Task<IActionResult> GetUser() { var user = HttpContext.User; } из user.Claims, например с помощью linq, можно достать все необходимые тебе клеймы которые были в токене при его создании и отправке на фронт
там надо ещо не забыть что в AddAuthentication надо задать что дефолтная схема не куки а JWT
ага, это так ну это если Cookie вообще добавлена, тут мне из контекста непонятно, одна у него схема или несколько
Обсуждают сегодня