Module Auth alternatif pour Nuxt
Ce module est conçu comme une alternative à @ nuxtjs / auth, sauf que c'est pour nuxt3 uniquement sans support de compatibilité vers l'arrière.
@nuxt-alt/auth and @nuxt-alt/http dépend à votre projet yarn add @nuxt-alt/auth @nuxt-alt/http@nuxt-alt/auth et @pinia/nuxt à la section modules de nuxt.config.ts Remarque: vous n'avez pas besoin de spécifier @nuxt-alt/http , il sera automatiquement ajouté, mais si vous souhaitez l'ajouter manuellement, assurez-vous qu'il est en dessous du module Auth (et au-dessus du module proxy si vous l'utilisez). Il n'a pas non plus besoin de PINIA qu'il utilisera useState de Nuxt par défaut.
export default defineNuxtConfig ( {
modules : [
'@nuxt-alt/auth'
] ,
auth : {
/* module options */
}
} ) ; Lire la documentation
Le module utilise désormais '@ nuxt-alt / http' pour fonctionner, ce module étend ohmyfetch. Veuillez noter que si vous utilisiez data pour publier des données, vous devez maintenant utiliser body car c'est ce que ohmyfetch utilise. Si vous avez l'intention d'utiliser SSR, veuillez envisager d'utiliser le module @nuxt-alt/proxy .
Un composable useAuth() est disponible à utiliser pour accéder aux méthodes AUTH.
La plupart des options sont tirées directement du module @ nuxtjs / auth. De plus, il existe des options supplémentaires disponibles.
globalMiddlewareBooleanfalsePermet / désactive l'utilisation du middleware à l'échelle mondiale.
enableMiddlewareBooleantrueActive / désactive le middleware intégré.
stores.state.namespaceStringauthC'est l'espace de noms à utiliser pour Nuxt UseState.
stores.pinia.enabledBooleanfalse Activez cette option pour utiliser le magasin PINIA, Bey Default Ceci est désactivé et useState de Nuxt est utilisé à la place.
stores.pinia.namespaceStringauthC'est l'espace de noms à utiliser pour le magasin Pinia.
stores.local.enabledBooleantrueActivez cette option pour utiliser le magasin localstorage.
stores.local.prefixStringauth.Cela définit le préfixe localstorage.
stores.session.enabledBooleantrueActivez cette option pour utiliser le magasin SessionStorage.
stores.session.prefixStringauth.Semblable à l'option LocalStorage, il s'agit du préfixe du stockage de session.
stores.cookie.enabledBooleantrueActivez cette option pour utiliser le stockage des cookies.
stores.cookie.prefixStringauth.Semblable à l'option LocalStorage, il s'agit du préfixe du stockage des cookies.
stores.cookie.optionsObject{ path: '/' }Les options de stockage de cookies par défaut.
redirectStrategyquery | storagestorage Le type de stratégie de redirection que vous souhaitez utiliser, storage Utilizng localStorage pour les redirections, query en utilisant les paramètres de requête de route.
tokenValidationIntervalBoolean | NumberfalseCeci est expérimental. Si l'intervalle par défaut est défini, l'intervalle par défaut est de 1000 ms, sinon régime le temps en millisecondes. C'est la fréquence à laquelle le module tente de valider le jeton pour l'expiration.
resetOnResponseErrorBoolean | FunctionfalseLorsqu'il est activé, il se réinitialise lorsqu'il y a une erreur 401 dans l'une des réponses. Vous pouvez en faire une fonction pour gérer cela vous-même:
auth: {
//... module options
resetOnResponseError : ( error , auth , scheme ) => {
if ( error . response . status === 401 ) {
scheme . reset ?. ( )
auth . redirect ( 'login' )
}
} ,
} Les informations de l'utilisateur peuvent être modifiées comme ainsi pour TypeScript:
declare module '@nuxt-alt/auth' {
interface UserInfo {
email : string
name : string
}
} En plus des jetons AUTH;
Par défaut, le Getter $auth.strategy utilise le type Scheme qui n'a pas de types token ou de propriété refreshToken . Pour aider à cela, un $auth.refreshStrategy et un $auth.tokenStrategy Getter ont été ajoutés pour la saisie. Ils font tous la même chose, c'est simplement destiné à la distinction de type.
OAuth2 a désormais une authentification des fenêtres du client grâce à cette demande de traction: nuxt-communautaire / module authentique # 1746
Les propriétés ont été modifiées en:
clientWindowBooleanfalseActivez / désactivez l'utilisation d'une popup pour l'authentification du client.
clientWidthNumber400La largeur de la fenêtre du client.
clientHieghtNumber600La largeur de la fenêtre du client.
Alias disponibles à utiliser dans Nuxt
#auth/runtime#auth/utils#auth/providers