Alternatives Authodul für Nuxt
Dieses Modul ist als Alternative zu @nuxtjs/auth gemeint, außer dass dies nur für Nuxt3 ist, nur ohne Unterstützung für die Kompatibilität nach hinten.
@nuxt-alt/auth
und @nuxt-alt/http
Abhängigkeit zu Ihrem Projekt hinzu yarn add @nuxt-alt/auth @nuxt-alt/http
@nuxt-alt/auth
und @pinia/nuxt
zum modules
von nuxt.config.ts
hinzu Hinweis: Sie müssen @nuxt-alt/http
nicht angeben. Es wird automatisch hinzugefügt. Wenn Sie es jedoch manuell hinzufügen möchten, stellen Sie sicher, dass es sich unter dem Auth-Modul befindet (und über dem Proxy-Modul, wenn Sie es verwenden). Es braucht auch keine Pinia, es wird standardmäßig Nuxts useState
verwenden.
export default defineNuxtConfig ( {
modules : [
'@nuxt-alt/auth'
] ,
auth : {
/* module options */
}
} ) ;
Dokumentation lesen
Das Modul verwendet jetzt '@nuxt-Alt/http', um zu funktionieren, dieses Modul erweitert OhmyFetch. Bitte beachten Sie, dass Sie jetzt body
verwenden müssen, wenn Sie data
zum Posten von Daten verwenden, da dies das ist, was ohmyfetch
verwendet. Wenn Sie SSR verwenden möchten, sollten Sie das @nuxt-alt/proxy
Modul verwenden.
Ein useAuth()
-Bekurs ist verfügbar, um auf die Auth -Methoden zuzugreifen.
Die meisten Optionen werden direkt vom @nuxtjs/Auth -Modul genommen. Darüber hinaus sind einige zusätzliche Optionen verfügbar.
globalMiddleware
Boolean
false
Ermöglicht/deaktiviert die Middleware, die weltweit verwendet werden soll.
enableMiddleware
Boolean
true
Aktiviert/deaktiviert die integrierte Middleware.
stores.state.namespace
String
auth
Dies ist der Namespace für Nuxt Usestate.
stores.pinia.enabled
Boolean
false
Aktivieren useState
diese Option, um den Pinia Store zu verwenden.
stores.pinia.namespace
String
auth
Dies ist der Namespace für den Pinia Store.
stores.local.enabled
Boolean
true
Aktivieren Sie diese Option, um den LocalStorage Store zu verwenden.
stores.local.prefix
String
auth.
Dadurch wird das lokale Storage -Präfix festgelegt.
stores.session.enabled
Boolean
true
Aktivieren Sie diese Option, um den SessionStorage Store zu verwenden.
stores.session.prefix
String
auth.
Ähnlich wie bei der LocalStorage -Option ist dies das Präfix für den Sitzungsspeicher.
stores.cookie.enabled
Boolean
true
Aktivieren Sie diese Option, um den Cookie -Speicher zu verwenden.
stores.cookie.prefix
String
auth.
Ähnlich wie bei der LocalStorage -Option ist dies das Präfix für den Cookie -Speicher.
stores.cookie.options
Object
{ path: '/' }
Die Standard -Cookie -Speicheroptionen.
redirectStrategy
query | storage
storage
Die Art der Umleitungsstrategie, die Sie anwenden möchten, storage
localStorage für Umleitungen und query
unter Verwendung der Routenabfrageparameter.
tokenValidationInterval
Boolean | Number
false
Dies ist experimentell. Wenn auf TRUE eingestellt ist, beträgt das Standardintervall 1000 ms, ansonsten in Millisekunden. So oft das Modul mit Versuch, das Token für den Ablauf zu validieren.
resetOnResponseError
Boolean | Function
false
Wenn es aktiviert ist, wird es zurückgesetzt, wenn ein 401 -Fehler in einer der Antworten auftritt. Sie können dies in eine Funktion machen, um dies selbst zu handhaben:
auth: {
//... module options
resetOnResponseError : ( error , auth , scheme ) => {
if ( error . response . status === 401 ) {
scheme . reset ?. ( )
auth . redirect ( 'login' )
}
} ,
}
Die Benutzerinformationen können wie dies für Typscript bearbeitet werden:
declare module '@nuxt-alt/auth' {
interface UserInfo {
email : string
name : string
}
}
Zusätzlich zu Auth -Token;
Standardmäßig verwendet der $auth.strategy
Getter den Scheme
-Typ, der keine token
oder refreshToken
-Eigenschaftstypen hat. Um dies zu unterstützen, wurden ein $auth.refreshStrategy
und ein $auth.tokenStrategy
Getter zum Tippen hinzugefügt. Sie alle tun das Gleiche, das ist nur für Typ -Hinweise gedacht.
OAuth2 hat jetzt die Client-Fensterauthentifizierung dank dieser Pull-Anfrage: Nuxt-Community/Auth-Module#1746
Eigenschaften wurden geändert in:
clientWindow
Boolean
false
Aktivieren/deaktivieren Sie die Verwendung eines Popups für die Client -Authentifizierung.
clientWidth
Number
400
Die Breite des Kundenfensters.
clientHieght
Number
600
Die Breite des Kundenfensters.
Verfügbare Aliase, die innerhalb von Nuxt verwendet werden sollen
#auth/runtime
#auth/utils
#auth/providers