einführen
Linkhttps://auth.nuxtjs.org/api/options/#cookie Start Laut diesem Dokument wird nach der Verwendung von @nuxt/auth das Authentifizierungstoken standardmäßig im Cookie gespeichert, wenn das angegebene Cookie: false nicht angezeigt wird (dasselbe gilt oben für den lokalen Speicher). Die Schnittstelle entnimmt dann bei der Anforderung das Token dem Cookie und sendet es als Schnittstellenanmeldeinformation an den Server. Verzeichnisstruktur nuxt-dist ist die Datei, die von webpack nach jedem npm run dev oder npm run build generiert wird. Der darin enthaltene Code kann als der Code angesehen werden, den wir am Ende tatsächlich aufrufen ( Sie können hier auch direkt Änderungen vornehmen und Fehler beheben, die Änderungen werden jedoch bei jedem erneuten Ausführen des Projekts wiederhergestellt. nuxt/auth hat mehrere Schemata, siehe beispielsweise nuxt-dist/auth/schemes/local.js In dem Code, den wir geschrieben haben, haben wir $auth.loginWith verwendet, um es aufzurufen, aber tatsächlich ruft loginWith letztendlich login auf. Dann schauen Sie sich den Login an, immer noch in nuxt-dist/auth/schemes/local.js nuxt-dist ist die Datei, die von webpack nach jedem npm run dev oder npm run build generiert wird. Der Code hier kann als der Code angesehen werden, den wir am Ende tatsächlich aufrufen (Sie können ihn hier auch direkt ändern und debuggen, er wird jedoch bei jedem erneuten Ausführen des Projekts wiederhergestellt). In dem Code, den wir geschrieben haben, haben wir $auth.loginWith verwendet, um es aufzurufen, aber tatsächlich ruft loginWith letztendlich login auf. Dann schauen Sie sich den Login an, immer noch in nuxt-dist/auth/schemes/local.js this.name in der Methode ist auth.strategy, also lokal, local1 usw., und setStrategy() in der obigen loginWith-Methode speichert die auth.strategy-Informationen lokal. Bei dieser Methode Bei dieser Methode wird _key in ._token.local zusammengestellt. Schließlich ruft diese Methode die Methoden setCookie und serLocalStorage auf, speichert das Token in Cookies und im lokalen Speicher und wird in setCookie erneut zusammengesetzt, wobei cookies.prefix hinzugefügt wird, was standardmäßig Auth ist. Schließlich wird es nach der Serialisierung im Cookie gespeichert. Die gesamte Anmelde- und Authentifizierungslogik sieht grundsätzlich so aus. Gehen Sie weiter in den CodeSie können auch mehrere Authentifizierungen in nuxt.config.js konfigurieren: {strategies: {local Mit WeChat anmelden, mit Handynummer anmelden, mit Konto anmelden … autoFetch https://auth.nuxtjs.org/schemes/local Wenn user.autoFetch true ist (Standard), sendet endpoints.user unmittelbar nach einer erfolgreichen Anmeldung eine Anfrage. Dieser Endpunkt sollte mit JSON-Informationen für den jeweiligen Benutzer antworten, die direkt der Benutzereigenschaft zugewiesen sind. Wenn Sie die Benutzerinformationen direkt aus der Anmeldesitzung zurückgeben möchten, setzen Sie user.autoFetch auf „false“, rufen Sie die Benutzerinformationen aus der loginWith-Antwort ab und übergeben Sie sie an setUser. Wenn Sie das Abrufen von Benutzerinformationen vollständig deaktivieren möchten, setzen Sie endpoints.user: false. Dies bedeutet, dass der Endpunkt für Benutzerinformationen nie aufgerufen wird, aber es bedeutet auch, dass das Frontend nichts über den Benutzer weiß; this.$auth.user wird {} sein. PS: Da die Schnittstelle ersetzt werden muss, wird der Benutzer automatisch eine Abfrage ausführen und der resultierende Fehler ist für die Entwicklung nicht förderlich. Sie können die Entwicklung Schritt für Schritt durch Kommentare durchführen. Benutzer: { autoFetch: false, }, Proxy-KonfigurationDie Back-End-Schnittstelle des Projekts basiert auf der Back-End-Low-Code-Plattform und der Java-Schnittstelle. Die Namen am Anfang der Schnittstellen sind inkonsistent, was über einen Proxy behandelt werden kann, und domänenübergreifende Probleme können ebenfalls gelöst werden. Achsen: // // Basis-URL:'' Proxy: wahr, Präfix: '/', // Anmeldeinformationen: falsch, }, Proxy: { '/biz': { Ziel: 'http://xxlb/', PfadNeu schreiben: { '^/biz': '/biz/', changeOrigin: true // gibt an, ob es domänenübergreifend ist} }, '/vorne': { Ziel: 'http://xxlb/', PfadNeu schreiben: { '^/front': '/api/front', changeOrigin: true // gibt an, ob es domänenübergreifend ist} }, Abfangen von AnfragenAchsen: // // Basis-URL:'' Proxy: wahr, Präfix: '/', // Anmeldeinformationen: falsch, }, Proxy: { '/biz': { Ziel: 'http://xxlb/', PfadNeu schreiben: { '^/biz': '/biz/', changeOrigin: true // gibt an, ob es domänenübergreifend ist} }, '/vorne': { Ziel: 'http://xxlb/', PfadNeu schreiben: { '^/front': '/api/front', changeOrigin: true // gibt an, ob es domänenübergreifend ist} }, Umgang mit Schnittstellen mit unterschiedlichen Präfixen dev wird für die lokale Entwicklungsumgebung verwendet und kann bei der Bereitstellung auf dem Server nicht verwendet werden. konstantes Temp = { api: ['/front/login', 'xxxxxx', 'xxxxx'], api2: ['/test', 'xxxxxx'], xxx: […] } Dies entspricht der expliziten Auflistung aller Schnittstellen, die das Präfix verwenden müssen. Dies bietet drei Vorteile. Wenn die Produktionsumgebung andere Serverschnittstellen aufrufen muss, müssen bestimmte Regeln vorhanden sein. Wenn Regeln vorhanden sind, gleichen wir sie mit den Regeln ab und ändern sie dann. konstantes Temp = { http://10.0.0.1/api: ['/front/login', 'xxxxxx', 'xxxxx'], http://10.0.0.1/api2: ['/test', 'xxxxxx'], http://10.0.0.1/xxx: […], … http://10.0.1.111/api: ['/sth/xxx'] } Erweitern Sie den Präfixbereich um Protokolle und Domänennamen Dynamische Routing-Konfiguration https://www.nuxtjs.cn/guide/routing nuxt-dist verpackt und generiert automatisch die Konfiguration Umleitungs- und Authentifizierungsberechtigungen https://auth.nuxtjs.org/guide/middleware In einigen Szenarien ist für den Zugriff eine Anmeldung erforderlich, andernfalls werden Sie auf die /login-Seite umgeleitet. Nachdem wir die Verarbeitung abgeschlossen haben, können wir auth: false festlegen, um einige Seiten so zu handhaben, dass sie nicht zur Anmeldung umleiten. Beispielsweise generiert eine Seite, auf die ich gerade stoße, vor der Registrierung im Hintergrund einen Registrierungslink. Diese Seite erfordert keine Token-Informationen. Dies ist das Ende dieses Artikels über die Implementierung der Vue-Nuxt-Anmeldeauthentifizierung. Weitere relevante Inhalte zur Vue-Nuxt-Anmeldeauthentifizierung finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! |
<<: CSS3-Übergang zur Implementierung eines Benachrichtigungsnachrichtenkarussells
>>: Beherrschen Sie einfach die Verwendung horizontaler Zeilenanmerkungen und Codekommentare in HTML
Hintergrund Wenn wir uns über den MySQL-Client in...
In diesem Artikelbeispiel wird der spezifische Co...
Lassen Sie mich zunächst erklären, warum der Text...
brauchen: Der Ressourcenserver der offiziellen We...
Im Allgemeinen werden Klickereignisse in verschie...
Vorwort echarts ist mein am häufigsten verwendete...
Dieser Artikel zeichnet hauptsächlich einen Tomca...
Textkürzung mit CSS Beachten Sie den folgenden Co...
Die meisten Navigationsleisten sind horizontal an...
Inhaltsverzeichnis Einführung Erste Schritte Eine...
Inhaltsverzeichnis 1. Was ist vuex 2. Installatio...
Den Ergebnissen zufolge gibt es für die Definitio...
Überblick Das Builder-Muster ist ein relativ einf...
Heute habe ich eine Fallstudie zur MySQL IN-Unter...
In diesem Artikel wird der spezifische Code von N...