NikFaraday
@NikFaraday
Student full-stack Developer

Как делается Авторизация и аутентификация на Blazor Server?

Здравствуйте!

Начал изучать технологию Blazor Server и меня интересует вопрос об авторизации и аутентификации. Опыт на asp.net core mvc и web api есть, но меня интересуют основные вопросы авторизации:

  • Что делать с jwt токеном? Как получить основную информацию о пользователе по токену? Для примера, вывести в navbar логин текущего пользователя
  • Где хранить данные о пользователе? Коллеги используют IdentityUser (Или UserIdentity), но мне такой подход не нравится, нужно что-то более явное
  • Можно ли хранить данные в HttpContext как объект ClaimIdentity со списком Claim, который я могу получить после декодинга jwt токена?
  • Вопрос задан
  • 488 просмотров
Решения вопроса 1
@OwDafuq
1. Сохранить, очевидно, например в LocalStorage/Cookie. Получить информацию: взять середину токена (там 3 части, разделенных запятой, а вам нужна как раз 2-ая из них), сделать на этой строке base64 decode и json deserialize, например, и будет вся информация в виде Claim'ов

2. Данные о пользователе в смысле логин/пароль и пр.? Очевидно, что в базе, а как - на ваше усмотрение, мы используем стандартные возможности EF, просто немного дописанные руками (в т.ч. фио и пр.)

3. Да, мы так тоже делаем, смотреть в сторону IMeddleware
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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