sslion
@sslion

C#, сессии, JWT token?

Написал небольшой веб-сервис на C# .NET. Собственно он получает запросы - отдает ответы, все норм.
Но теперь возникла необходимость в авторизации. Есть ли какой-то стандартный механизм управления сессиями подключенных клиентов?
Я думал построить авторизацию на JWT токенах, а токены хранить в базе.
  • Вопрос задан
  • 323 просмотра
Решения вопроса 2
NikFaraday
@NikFaraday
Student full-stack Developer
Изучите более подробно об JWT токенах и IndentityServer'е, тогда у вас не будет желания хранить их в базе) Но сможете использовать это всё для аутентификации и авторизации. Так же советую посмотреть об OAuth/OAuth2.0 и OpenId Connect

Если что-то более простое, тогда делайте просто на куках как под mvc:
Use cookie authentication without ASP.NET Core Identity
ASP.NET Core - Write a Simple Cookie Authentication
Ответ написан
Комментировать
@calculator212
Я думал построить авторизацию на JWT токенах, а токены хранить в базе.
В целом сейчас это популярный способ для аутентификации, только особенность в том, что хранить токены в базе - это противоречие самой концепции JWT(но многие все равно так делают), т.к. эти токены должны проверяться только сервером на валидность без обращения к БД. Плюс jwt довольно легко неправильно сконфигурировать, в общем если у вас по сути монолитный проект, то jwt не особо и нужен и вполне все можно сделать на куках. Но если хотите использовать jwt, то стоит прочитать про access и refresh токены, какую инфу не стоит хранить в токене и какие алгоритмы выбрать для настройки.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы