У меня есть приложение, разработанное с использованием React в интерфейсе и ASP.Net Веб-API в бэкэнде. Я использую JWT для авторизации. Процесс заключается в
- Когда пользователь входит в систему и проходит проверку подлинности, на интерфейс отправляются 2 токена: токен доступа и токен обновления. Токен доступа-это JWT, а токен обновления-это случайная строка, и токен обновления хранится в базе данных.
- Для каждого последующего вызова маркера доступа API, прикрепленного в заголовке, у меня есть фильтр аутентификации, который проверяет маркер доступа.
- Как только срок действия маркера доступа истечет, появится состояние 401 с сообщением об ошибке TokenExpired.
- Как только интерфейс получит 401, он вызовет API токена обновления, чтобы получить токен обновления
Вопрос, который у меня есть, заключается в том, что у меня не может быть фильтра аутентификации для проверки маркера доступа API токенов обновления, так как он выдаст 401 из-за маркера доступа с истекшим сроком действия, поэтому мне нужно сделать API маркера обновления анонимным, чтобы он не попадал в фильтр аутентификации. Если я делаю анонимно, я звоню в базу данных, чтобы получить маркер обновления, сохраненный для пользователя, и сравнить его с тем, который я получил от внешнего интерфейса. Итак, безопасно ли сделать API токенов обновления анонимным, если нет, то каков наилучший способ?