Необходимо ли сохранять токен обновления в базе данных? - PullRequest
0 голосов
/ 26 октября 2018

Я использую поток пароля владельца ресурса, и я успешно получил токен доступа и обновил токен, и я не сохранил токен в базе данных, и все работает локально. Но когда я развертываю идентификационный сервер в производственном обновлении, токен не работает должным образом. Я установил время истечения токена доступа 20 минут и обновил время истечения токена 7 дней.

если я обновляю токен доступа в течение 20 минут или до истечения срока действия токена доступа, то обновляю токен обновления токена доступа и работаю, как ожидается, но после истечения срока действия токена обновления токен не обновляет токен доступа и выдает ошибку invalid_grant.

Поскольку я не сохранил токен обновления в базе данных, и я искал в Google, но ответы путают.

Так может ли кто-нибудь сказать мне:

Нужно ли мне хранить токен обновления, пока он работает локально без сохранения? Если да, то я использую MySQL в качестве базы данных.

или что-то еще, что мне нужно посмотреть.

Спасибо.

Ваш ответ ценен для меня.

1 Ответ

0 голосов
/ 15 ноября 2018

При локальном запуске IdentityServer4 и "из коробки" такие вещи, как токены обновления, не сохраняются, и это обычно хорошо на ранних стадиях разработки.

Однако, когда вы планируете развернуть свой Identity Provider на сервере, вам все равно понадобится оперативное хранилище (для хранения грантов, согласия пользователей и т. Д.).
Это оперативное хранилище также может хранить токены обновления и эталонные токены (см. Документацию IdentityServer4 ).

Хорошая идея - настроить хранилище токенов на IdP. Хранение токенов открывает дверь к чистому отзыву токенов. Тщательно реализованный выход из системы в клиентском приложении вызовет конечную точку отзыва токена на вашем IdP. Это происходит потому, что когда пользователь выходит из системы, больше не требуется ни токен доступа, ни токен обновления.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...