Как безопасно реализовать аутентификацию JWT в приложении мониторинга работоспособности .NET с использованием MySQL?C#

Место общения программистов C#
Ответить
Anonymous
 Как безопасно реализовать аутентификацию JWT в приложении мониторинга работоспособности .NET с использованием MySQL?

Сообщение Anonymous »

Я разрабатываю веб-приложение для фармаконадзора, аналогичное VAERS и некоторым панелям отчетности ООН по вопросам здравоохранения. Приложение создано с использованием .NET 8, Entity Framework Core и MySQL. Пользователи — медицинские работники с такими ролями, как врач, медсестра, специалист по фармаконадзору и т. д. Пользователи должны войти в систему, используя адрес электронной почты и пароль. Я хочу вернуть токен JWT при входе в систему, но не уверен, следует ли мне хранить токен и обновлять токен в базе данных или просто возвращать его клиенту. Приложение будет записывать отчеты о неблагоприятных событиях, аналогично https://vaers.hhs.gov/ , поэтому безопасность и правильное управление доступом на основе ролей имеют важное значение.
Вот моя текущая реализация входа:

Код: Выделить всё

public async Task LoginUserAsync(LoginUserDto userDto)
{
var savedUser = await _identityManager.CheckCredentialsAsync(userDto.Email!, userDto.Password);
if (savedUser is null)
throw new Exception("Invalid credentials");

return new UserResponseDTO
{
Id = savedUser.Id,
UserName = savedUser.UserName!,
Email = savedUser.Email!,
UserRole = savedUser.UserRole!,
Token = await _jwtTokenGenerator.GenerateToken(savedUser)
};
}
Я хочу реализовать это безопасно и следовать передовым практикам для медицинских данных, аутентификации JWT и доступа на основе ролей в MySQL.
Мои ВОПРОСЫ:
  • Должен ли я добавить столбцы Token и RefreshToken в таблицу User или лучше возвращать клиенту только JWT?
    />
  • Как я могу безопасно внедрить токены обновления, если для одного пользователя разрешено несколько устройств?
  • Существуют ли передовые методы хранения конфиденциальных медицинских данных пользователей в MySQL при интеграции с аутентификацией JWT?


Подробнее здесь: https://stackoverflow.com/questions/798 ... ng-app-usi
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»