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.
globalMiddlewareBooleanfalseErmöglicht/deaktiviert die Middleware, die weltweit verwendet werden soll.
enableMiddlewareBooleantrueAktiviert/deaktiviert die integrierte Middleware.
stores.state.namespaceStringauthDies ist der Namespace für Nuxt Usestate.
stores.pinia.enabledBooleanfalse Aktivieren useState diese Option, um den Pinia Store zu verwenden.
stores.pinia.namespaceStringauthDies ist der Namespace für den Pinia Store.
stores.local.enabledBooleantrueAktivieren Sie diese Option, um den LocalStorage Store zu verwenden.
stores.local.prefixStringauth.Dadurch wird das lokale Storage -Präfix festgelegt.
stores.session.enabledBooleantrueAktivieren Sie diese Option, um den SessionStorage Store zu verwenden.
stores.session.prefixStringauth.Ähnlich wie bei der LocalStorage -Option ist dies das Präfix für den Sitzungsspeicher.
stores.cookie.enabledBooleantrueAktivieren Sie diese Option, um den Cookie -Speicher zu verwenden.
stores.cookie.prefixStringauth.Ähnlich wie bei der LocalStorage -Option ist dies das Präfix für den Cookie -Speicher.
stores.cookie.optionsObject{ path: '/' }Die Standard -Cookie -Speicheroptionen.
redirectStrategyquery | storagestorage Die Art der Umleitungsstrategie, die Sie anwenden möchten, storage localStorage für Umleitungen und query unter Verwendung der Routenabfrageparameter.
tokenValidationIntervalBoolean | NumberfalseDies 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.
resetOnResponseErrorBoolean | FunctionfalseWenn 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:
clientWindowBooleanfalseAktivieren/deaktivieren Sie die Verwendung eines Popups für die Client -Authentifizierung.
clientWidthNumber400Die Breite des Kundenfensters.
clientHieghtNumber600Die Breite des Kundenfensters.
Verfügbare Aliase, die innerhalb von Nuxt verwendet werden sollen
#auth/runtime#auth/utils#auth/providers