Получите токен обновления из свойства ключа PersistedGrantStore в identityserver4 - PullRequest
0 голосов
/ 08 июня 2018

Я уже реализовал свой собственный IPersistedGrantStore с именем PostgresPersistedGrantStore, который хранит гранты в моей базе данных postgresql, и он отлично работает.

Теперь я хочу действительно двигаться вперед и хочу получить токен обновленияиз key, который хранится в моей таблице postgresql.Но из того, что я прочитал, это не правильный освежительный токен, а хеш, чтобы защитить его.Есть ли способ расшифровать, прочитать токен обновления из свойства key, используя, возможно, функцию из api identityserver?

Я пытаюсь реализовать свой собственный рабочий процесс олицетворения, чтобы было легко войти в системукак любой пользователь, использующий последний существующий токен обновления, сохранился в моей базе данных

1 Ответ

0 голосов
/ 08 июня 2018

Identity Server 4 имеет встроенную конечную точку для этого - <server_url>/Connect/Token.

Вам необходимо отправить POST-запрос к этой конечной точке с x-www-form-urlencoded типом тела, который содержит:

  • refresh_token: текущий refresh_token
  • client_id: клиент, для которого вы обновляете токен для
  • client_secret: секрет клиента
  • grant_type: refresh_token

Он вернет вам «обновленный» access_token вместе с новым refresh_token.

Начальный refresh_token, который вы должны были получить после входа в систему. Имейте в виду - после использования refresh_token(чтобы получить новый access_token) он получает недействительным .Вот почему вы получаете новое с каждым запросом к конечной точке.

Здесь - дополнительная информация о самом refresh_token.И здесь - о конечной точке токена.

...