Módulo de autenticación alternativo para NUXT
Este módulo se entiende como una alternativa a @nuxtjs/auth, excepto que esto es para Nuxt3 solo sin soporte de compatibilidad con versiones anteriores.
@nuxt-alt/auth
y @nuxt-alt/http
dependencia a su proyecto yarn add @nuxt-alt/auth @nuxt-alt/http
@nuxt-alt/auth
y @pinia/nuxt
a la sección de modules
de nuxt.config.ts
Nota: No necesita especificar @nuxt-alt/http
, se agregará automáticamente, pero si desea agregarlo manualmente, asegúrese de que esté debajo del módulo de autenticación (y por encima del módulo proxy si lo está utilizando). Tampoco necesita Pinia, usará useState
de NUXT de forma predeterminada.
export default defineNuxtConfig ( {
modules : [
'@nuxt-alt/auth'
] ,
auth : {
/* module options */
}
} ) ;
Leer documentación
El módulo ahora usa '@nuxt-alt/http' para funcionar, ese módulo extiende ohmyfetch. Tenga en cuenta que si estaba utilizando data
para publicar datos, ahora debe usar body
ya que esto es lo que usa ohmyfetch
. Si tiene la intención de usar SSR, considere usar el módulo @nuxt-alt/proxy
.
Un compuesto de useAuth()
está disponible para usar para acceder a los métodos de autenticación.
La mayoría de las opciones se toman directamente del módulo @nuxtjs/auth. Además, hay algunas opciones adicionales disponibles.
globalMiddleware
Boolean
false
Habilita/deshabilita el middleware que se usa a nivel mundial.
enableMiddleware
Boolean
true
Habilita/deshabilita el middleware incorporado.
stores.state.namespace
String
auth
Este es el espacio de nombres para usar para Nuxt Usestate.
stores.pinia.enabled
Boolean
false
Habilite esta opción para usar la tienda Pinche, Bey predeterminado, esto está deshabilitado y se usa useState
de NUXT.
stores.pinia.namespace
String
auth
Este es el espacio de nombres para usar para la tienda Pinche.
stores.local.enabled
Boolean
true
Habilite esta opción para usar la tienda LocalStorage.
stores.local.prefix
String
auth.
Esto establece el prefijo LocalStorage.
stores.session.enabled
Boolean
true
Habilite esta opción para usar la tienda SessionStorage.
stores.session.prefix
String
auth.
Similar a la opción LocalStorage, este es el prefijo para el almacenamiento de la sesión.
stores.cookie.enabled
Boolean
true
Habilite esta opción para usar el almacenamiento de cookies.
stores.cookie.prefix
String
auth.
Similar a la opción LocalStorage, este es el prefijo del almacenamiento de cookies.
stores.cookie.options
Object
{ path: '/' }
Las opciones de almacenamiento de cookies predeterminadas.
redirectStrategy
query | storage
storage
El tipo de estrategia de redirección que desea utilizar, storage
utilizando localización local para redireccionamientos, query
utilizando los parámetros de consulta de ruta.
tokenValidationInterval
Boolean | Number
false
Esto es experimental. Si se establece en True, el intervalo predeterminado es de 1000 ms, de lo contrario establece el tiempo en milisegundos. Esta es la frecuencia con la que el módulo con intento de validar el token para el vencimiento.
resetOnResponseError
Boolean | Function
false
Cuando esté habilitado, se restablecerá cuando haya un error 401 en cualquiera de las respuestas. Puede convertir esto en una función para manejar esto usted mismo:
auth: {
//... module options
resetOnResponseError : ( error , auth , scheme ) => {
if ( error . response . status === 401 ) {
scheme . reset ?. ( )
auth . redirect ( 'login' )
}
} ,
}
La información del usuario se puede editar así para TypeScript:
declare module '@nuxt-alt/auth' {
interface UserInfo {
email : string
name : string
}
}
Además de los tokens de autores;
Por defecto, el getter $auth.strategy
usa el tipo de Scheme
que no tiene tipos de propiedades token
o refreshToken
. Para ayudar con esto, se ha agregado un $auth.refreshStrategy
y A $auth.tokenStrategy
Getter para escribir. Todos hacen lo mismo, esto es solo para sugerencias de tipo.
OAUTH2 ahora tiene autenticación de la ventana del cliente gracias a esta solicitud de extracción: Nuxt-Community/Auth-Module#1746
Las propiedades se han cambiado a:
clientWindow
Boolean
false
Habilitar/deshabilitar el uso de una ventana emergente para la autenticación del cliente.
clientWidth
Number
400
El ancho de la ventana del cliente.
clientHieght
Number
600
El ancho de la ventana del cliente.
Alias disponibles para usar dentro de Nuxt
#auth/runtime
#auth/utils
#auth/providers