GOOGLE ADS

воскресенье, 1 мая 2022 г.

Модуль Nuxt Auth c5 не обновляет токен автоматически по истечении срока действия токена

Версия

модуль: 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 имя свойства.

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...