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.
globalMiddleware
Boolean
false
Permet / désactive l'utilisation du middleware à l'échelle mondiale.
enableMiddleware
Boolean
true
Active / désactive le middleware intégré.
stores.state.namespace
String
auth
C'est l'espace de noms à utiliser pour Nuxt UseState.
stores.pinia.enabled
Boolean
false
Activez cette option pour utiliser le magasin PINIA, Bey Default Ceci est désactivé et useState
de Nuxt est utilisé à la place.
stores.pinia.namespace
String
auth
C'est l'espace de noms à utiliser pour le magasin Pinia.
stores.local.enabled
Boolean
true
Activez cette option pour utiliser le magasin localstorage.
stores.local.prefix
String
auth.
Cela définit le préfixe localstorage.
stores.session.enabled
Boolean
true
Activez cette option pour utiliser le magasin SessionStorage.
stores.session.prefix
String
auth.
Semblable à l'option LocalStorage, il s'agit du préfixe du stockage de session.
stores.cookie.enabled
Boolean
true
Activez cette option pour utiliser le stockage des cookies.
stores.cookie.prefix
String
auth.
Semblable à l'option LocalStorage, il s'agit du préfixe du stockage des cookies.
stores.cookie.options
Object
{ path: '/' }
Les options de stockage de cookies par défaut.
redirectStrategy
query | storage
storage
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.
tokenValidationInterval
Boolean | Number
false
Ceci 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.
resetOnResponseError
Boolean | Function
false
Lorsqu'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:
clientWindow
Boolean
false
Activez / désactivez l'utilisation d'une popup pour l'authentification du client.
clientWidth
Number
400
La largeur de la fenêtre du client.
clientHieght
Number
600
La largeur de la fenêtre du client.
Alias disponibles à utiliser dans Nuxt
#auth/runtime
#auth/utils
#auth/providers