Nuestra API de actualización de backend necesita 2 parámetros: grant_type
y refresh_token
. El nuxt-auth v5 admite el token de actualización, pero el handleRefresh()
predeterminado no permite parámetros personalizados por lo que puedo ver; si esto se puede modificar, también sería genial.
Como solución alternativa, intenté crear un esquema personalizado + controlador de actualización personalizado. Este es mi código hasta ahora:
// nuxt.config.js auth: { strategies: { local: { scheme: '~/schemes/refresh_token.js', token: { property: 'token', global: true, type: 'Bearer' }, refreshToken: { property: 'refresh_token', data: 'refresh_token', maxAge: 60 * 60 * 24 * 30 }, endpoints: { login: { url: '/api/v1/login', method: 'post', propertyName: 'data.token' }, user: { url: '/api/v1/profile', method: 'get', propertyName: '' }, refresh: { url: '/api/v1/token', method: 'post' } } } } }
// schemes/refresh_token.js import { RefreshScheme } from '@nuxtjs/auth-next'; import RefreshTokenController from './controllers/refresh_token'; export default class RefreshTokenScheme extends RefreshScheme { constructor ($auth, options) { super($auth, options); this.refreshController = new RefreshTokenController(this); } }
// schemes/controllers/refresh_token.js import { RefreshController } from "@nuxtjs/auth-next"; export default class RefreshTokenController extends RefreshController { handleRefresh() { console.log('custom handle refresh'); } }
En este momento, tengo este error: la Class extends value undefined is not a constructor or null
en la export default class RefreshTokenController extends RefreshController
.
Además, mi consola dice: This dependency was not found: * fs in ./node_modules/@nuxtjs/auth-next/dist/module.js, ./node_modules/hasha/index.js