У меня проблемы с состоянием входа Nuxt Auth. Я использую Nuxt JS в универсальном режиме и аутентифицируюсь с помощью Nuxt Auth.
Когда пользователь выходит из системы, состояние $ auth.loggedIn разрешается соответствующим образом в этом сеансе. У меня нет перенаправления во время $ auth.logout (), но есть условные операторы, которые разрешают все потребности состояния выхода из системы. Когда пользователь выходит из этого сеанса, все в порядке.
Проблема возникает с моим экземпляром PWA, где начальный URL-адрес указывает на: http://example.com/pwa И отсюда выполняется перенаправление ($ router.push (redirectPage)) в соответствующее место после монтирования (). Замечание: я попытался перенаправить серверную часть, но не смог обойти проблемы с гидратацией, так что это казалось достаточно приличной альтернативой.
После logout (), когда PWA открывает start_url, $ auth.loggedIn показывает true, даже если пользователь вышел из системы. Это конфликт с локальным хранилищем и файлами cookie, которые для ключей аутентификации показывают false.
Когда я отлаживаю это в Chrome и выполняю жесткое обновление, он соответствующим образом разрешает $ auth.loggedIn как false. Без жесткого обновления это будет верно.
Похоже, это какая-то проблема с кешем. Кроме того, я использую модуль Nuxt PWA. Я не уверен, что это проблема сервис-воркера с кешированием хранилища vuex.
Любые идеи приветствуются.
Вот конфигурация аутентификации:
auth: {
redirect: false,
strategies: {
local: false,
password_grant: {
scheme: 'local',
token: {
property: 'access_token'
},
endpoints: {
login: {
url: '/oauth/token',
method: 'post',
propertyName: 'access_token'
},
logout: false,
user: {
url: 'api/auth/me',
method: 'get',
propertyName: 'user'
},
}
},
}
Конфигурация рабочего окна PWA использует все значения кеша по умолчанию.