Доступ к новому токену доступа после перезагрузки из redux-token-auth - PullRequest
0 голосов
/ 03 ноября 2018

Я создаю веб-приложение, состоящее из внешнего интерфейса React и нескольких API-интерфейсов Rails в бэкэнде. Один Rails API предназначен для аутентификации пользователя, а другой - для хранилища, и все это координируется с помощью конечных точек API. Для аутентификации на стороне клиента я являюсь пользователем redux-token-auth в паре с гемом devise_token_auth в API аутентификации пользователя. В API хранилища он подтверждает, что пользователь аутентифицирован, если API аутентификации пользователя отправляет идентификатор клиента и токен доступа в API хранилища при входе в систему. После клиент проверяет токен доступа и идентификатор клиента с хранилищем для авторизации. Все работает, но проблема, с которой я сталкиваюсь, заключается в том, что при перезагрузке клиентского приложения генерируется новый токен, и этот новый токен должен быть отправлен и сохранен в API хранилища для авторизации для работы.

Я изучил код для redux-token-auth, и есть функция verifyCredentials, которая вызывается при перезагрузке клиента. Эта функция кажется обещанием, которое не возвращает обещание. Далее verifyCredentials вызывает verifyToken, который хранит токен доступа в локальном хранилище. Но это также не возвращает обещание, которое я могу получить. Я попытался обновить токен доступа сразу после вызова verifyCredentials и отправить новый токен через axios на стороне клиента в API хранилища, но он всегда отправляет последний токен, а не недавно обновленный токен. Я пытался сделать это по-разному в разное время в жизненном цикле приложения и потерпел неудачу.

Есть ли какое-либо жизнеспособное решение этой проблемы или в любом случае превратить verifyToken / VerifyCrendials в обещание, которое возвращает данные ответа, к которым я могу получить доступ?

1 Ответ

0 голосов
/ 24 апреля 2019

Поздно, но попробуйте:

...