Клиент .Net Core MVC — Аутентификация через службу JWT

#asp.net-core #authentication #jwt

Вопрос:

У меня есть два проекта, один из которых-API, а другой-клиент, использующий API. Оба являются .net core 3.1. Проект API был разработан по мотивам этого поста:

https://jasonwatmore.com/post/2021/06/15/net-5-api-jwt-authentication-with-refresh-tokens#users-controller-cs

и у него есть аутентификация JWT с токеном обновления и некоторые методы с атрибутом авторизации.

Мои проблемы начинаются в клиентском проекте. Проекты API выдают токен доступа, и клиент должен использовать его для доступа к защищенному API.

Я могу аутентифицироваться в API, но когда клиент получает токен (токен доступа и токен обновления), он сохраняет его в файле cookie аутентификации и в файле cookie токена обновления.

Мои сомнения таковы:

  • Является ли этот подход правильным?
  • как я могу управлять истечением срока действия токена доступа и использовать токен обновления для получения нового? Нужно ли восстанавливать файлы cookie?
  • В будущем я добавлю аутентификацию Facebook и аутентификацию клиента.

Если потребуется более подробная информация или какая-либо реализация, дайте мне знать.

Заранее спасибо.

Комментарии:

1. Вы можете установить срок действия файлов cookie на ту же дату, что и маркер, чтобы они истекали одновременно.

2. @abusco хорошо, а когда срок действия файла cookie истечет, что будет добавлено? Мне не нужно перенаправлять на страницу входа в систему, но вместо этого я использую токен обновления, чтобы получить новый access_token и сгенерировать новый файл cookie.