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.
globalMiddlewareBooleanfalseHabilita/deshabilita el middleware que se usa a nivel mundial.
enableMiddlewareBooleantrueHabilita/deshabilita el middleware incorporado.
stores.state.namespaceStringauthEste es el espacio de nombres para usar para Nuxt Usestate.
stores.pinia.enabledBooleanfalse Habilite esta opción para usar la tienda Pinche, Bey predeterminado, esto está deshabilitado y se usa useState de NUXT.
stores.pinia.namespaceStringauthEste es el espacio de nombres para usar para la tienda Pinche.
stores.local.enabledBooleantrueHabilite esta opción para usar la tienda LocalStorage.
stores.local.prefixStringauth.Esto establece el prefijo LocalStorage.
stores.session.enabledBooleantrueHabilite esta opción para usar la tienda SessionStorage.
stores.session.prefixStringauth.Similar a la opción LocalStorage, este es el prefijo para el almacenamiento de la sesión.
stores.cookie.enabledBooleantrueHabilite esta opción para usar el almacenamiento de cookies.
stores.cookie.prefixStringauth.Similar a la opción LocalStorage, este es el prefijo del almacenamiento de cookies.
stores.cookie.optionsObject{ path: '/' }Las opciones de almacenamiento de cookies predeterminadas.
redirectStrategyquery | storagestorage 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.
tokenValidationIntervalBoolean | NumberfalseEsto 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.
resetOnResponseErrorBoolean | FunctionfalseCuando 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:
clientWindowBooleanfalseHabilitar/deshabilitar el uso de una ventana emergente para la autenticación del cliente.
clientWidthNumber400El ancho de la ventana del cliente.
clientHieghtNumber600El ancho de la ventana del cliente.
Alias disponibles para usar dentro de Nuxt
#auth/runtime#auth/utils#auth/providers