Как разделить один токен между несколькими приложениями Vue - PullRequest
0 голосов
/ 05 ноября 2018

Я хочу найти способ, как разделить один токен между несколькими приложениями VUE. С этим я могу создать несколько одностраничных приложений, имитирующих микросервисы на серверной части. Я думал о том, чтобы поместить его в Vuex и сохранить состояние в localstorage / cache, однако я не могу получить то же состояние для другого приложения. Есть предложения?

1 Ответ

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

Для такого случая целесообразно использовать куки .

В отличие от localStorage, возможно совместно использовать одни и те же cookie для родительского домена (example.com) и поддоменов (sub-domain.example.com). Это можно сделать, указав domain свойство cookie в качестве подстановочного знака - .example.com (обратите внимание на первую точку перед доменным именем). Соответствующий ответ

В зависимости от архитектуры приложения, вы можете вручную прочитать cookie во внешнем интерфейсе при запуске приложения, проверить, зарегистрирован ли пользователь и сохранить его в хранилище.

Если API также размещен на поддомене, можно сделать запрос к API (если указан домен файлов cookie, заголовок файлов cookie будет отправлен вместе с запросом) и проверить, авторизован ли пользователь для доступа к приложению. , Предлагается только в том случае, если API не проверяет token по-другому (например, в полезной нагрузке или заголовке Authorization).

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

Кроме того, поскольку управление файлами cookie вручную может быть довольно неудобным, использование сторонних библиотек обеспечит API, аналогичный использованию localStorage. Например: js-cookie .

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