Как настроить вызов refresh_Token с Hasura и firebase

У меня работает сервер Hasura и функции firebase. На фронтенде у меня есть angular. У меня есть работающая функция входа в систему, которая получает токен jwt и токен обновления. Однако я хотел бы сохранить их в серверном файле cookie HttpOnly и выполнить автоматическое обновление с клиента. Это объясняет его теорию: https://hasura.io/blog/best-practices-of-using-jwt-with-graphql/, но не на практике.

Как мне создать такой токен в моей функции входа в firebase? А что мне нужно настроить в Хасуре?


person Super Mensch    schedule 10.04.2021    source источник


Ответы (1)


Кажется, в статье, которую вы упомянули, объясняется, что процесс токена обновления выполняется с помощью отдельного сервера (за пределами Hasura), который обрабатывает создание и обновление токена обновления. В интерфейсе вы постоянно обращаетесь к этому серверу, чтобы постоянно обновлять jwt и обновлять токен. Это можно сделать, установив setInterval / setTimeout или (лучше) используя перехватчик axios / fetch для ваших запросов. Идея состоит в том, чтобы токены jwt и refresh действовали к моменту отправки запроса Хасуре.

person Chris Amador    schedule 19.04.2021
comment
Да, но что, если пользователь вышел из системы. Таким образом, интерфейс не обновляет токен до его следующего входа в систему. ???? - person Super Mensch; 21.04.2021
comment
Верный. Когда пользователь выходит из системы, вы удаляете токен и перестаете обращаться к отдельному серверу. В сообщении блога есть раздел о том, как выйти из системы пользователя, и пример кода. «С JWT выход из системы - это просто удаление токена на стороне клиента, чтобы его нельзя было использовать для последующих вызовов API». - person Chris Amador; 22.04.2021