Версия
модуль: 5.0.0-1624817847.21691f1 следующий: 2.15.8
Следующая конфигурация
- Универсальный
Следующая конфигурация
// Auth: https://auth.nuxtjs.org/ (v5)
auth: {
redirect: {
login: '/account/login/',
logout: '/account/login/',
callback: '/account/login/',
home: '/account/beams/'
},
strategies: {
local: {
scheme: 'refresh',
token: {
property: 'access_token',
maxAge: 120, // seconds, 2 minutes
global: true
},
refreshToken: {
property: 'refresh_token',
data: 'refresh_token',
maxAge: 1209600 // seconds, 2 weeks
},
user: {
property: 'user',
autoFetch: true
},
endpoints: {
login: { url: '/api/account/login', method: 'post', propertyName: 'token' },
refresh: { url: '/api/account/refresh', method: 'post', },
logout: { url: '/api/account/logout', method: 'post' },
user: { url: '/api/account', method: 'get' }
},
autoLogout: false
}
}
},
Дополнительная информация
Контрольный список
- [x] Я протестировал последнюю версию Nuxt, и проблема все еще возникает
- [x] Я протестировал последнюю версию модуля, и проблема все еще возникает
- [x] Я провел поиск в системе отслеживания проблем, и об этой проблеме еще не сообщалось.
Действия по воспроизведению
Что ожидается?
Когда срок действия токена пользователя истекает и refreshсхема реализована, пользователь не должен выходить из системы и перенаправляться обратно на экран входа в систему, токен обновления должен использоваться для получения нового токена, а переход должен быть плавным, позволяя продолжить любой аутентифицированный маршрут. Работа.
Что происходит на самом деле?
В моем проекте Nuxt с модулем Auth я реализовал refreshсхему, однако, когда срок действия моего токена истекает, я не вижу никаких запросов в моей сети к refreshмаршруту после истечения срока действия моего токена, и я перехожу на защищенную страницу через authпромежуточное программное обеспечение..
Я ожидаю, что мне не хватает какой-то простой конфигурации?
Срок действия моего текущего токена составляет 1 минуту для тестирования, а срок действия моего токена обновления составляет 14 дней для тестирования.
Однако при добавлении:
scheme: 'refresh'refresh: { url: '/api/account/refresh', method: 'post', }
похоже, что функциональность не извлекает моего пользователя и автоматически не регистрирует меня.
Моя /api/account/refreshконечная точка в моем API возвращает следующее:
{
refresh_token: 'my refresh token',
token_type: 'bearer',
expired_in: 5000
}
Моя /api/account/loginконечная точка в моем API возвращает следующее:
{
access_token: 'my token',
token_type: 'bearer',
expired_in: 1000
}
Что мне не хватает?
Решение проблемы
Вам нужно вернуть токен обновления из /api/account/login. А затем установите в conf имя свойства.
Комментариев нет:
Отправить комментарий