Detaillierte Erklärung des Ungültigkeitsprozesses des VUE-Tokens

Detaillierte Erklärung des Ungültigkeitsprozesses des VUE-Tokens

Ziel

Behandeln von Token-Ablaufszenarien

Token, als Schlüsseltokeninformationen des Benutzers, sind nicht lange gültig. Im Allgemeinen gibt es eine Ablaufzeit (die vom Backend bestimmt wird, nach welcher Zeit es abläuft). Wenn die Ablaufzeit überschritten wird, kann das aktuelle Token nicht mehr als Benutzeridentifikation zum Anfordern von Daten verwendet werden. Zu diesem Zeitpunkt müssen wir einige zusätzliche Ablaufverarbeitungen durchführen

Gedankenanalyse

Bildbeschreibung hier einfügen

Backend : Wenn Sie von einem Benutzer eine Anforderung zum Zugriff auf eine bestimmte Schnittstelle erhalten, prüfen Sie, ob das aktuelle Token ungültig ist. Wenn das Token ungültig ist, geben Sie einen vereinbarten Statuscode 10002 an das Frontend zurück.

Front-End : Analysieren Sie im Antwort-Interceptor den Rückgabewert der Schnittstelle. Wenn der Statuscode 10002 lautet, führen Sie einen Token-Ungültigkeitserklärungsvorgang durch.

Code-Landung

Fügen Sie in **src/utils/request.js** eine benutzerdefinierte Logik für die Fehlerbehandlung des Antwort-Interceptors hinzu.

Da Seitensprünge Routing erfordern, führen wir zunächst ein

//Routing importieren. Router von '@/router' importieren.

Code

// Im Antwort-Interceptor // 1. Bestimmen Sie anhand der vom Backend zurückgegebenen Daten, ob die Operation erfolgreich war, und melden Sie einen Fehler, wenn sie nicht erfolgreich ist. // 2. Geben Sie bei Erfolg nur gültige Daten zurück. service.interceptors.response.use(
  Antwort => {
    // Vereinbarung zwischen Backend und Frontend: success=true zeigt eine erfolgreiche Anfrage an, wenn (response.data.success) {
      Antwortdaten zurückgeben
    } anders {
      // Wenn Erfolg falsch ist, ist das Geschäft falsch und die Ablehnung wird direkt ausgelöst
      // Erfasst durch Catch Branch Return Promise.reject(new Error(response.data.message))
    }
  },
  asynchroner Fehler => {
    console.log('Anforderungsfehler', Fehler)
    wenn (Fehler.Antwort.Daten.Code === 10002) {
      console.log('Token abgelaufen')
      warte auf store.dispatch('Benutzer/Abmelden')
      // .vue -- dies.$route.fullPath
      // .js - router.currentRoute.vollständigerPfad

      router.push('/login?return_url=' + encodeURIComponent(router.currentRoute.fullPath))
    }
    console.dir(Fehler)
    returniere Promise.reject(Fehler)
  }
)

Die obige Lösung ist die Backend-geführte Lösung. Das Frontend muss nur den Fehlercode abrufen, um die Geschäftsverarbeitung durchzuführen. Diese Lösung ist auch die am häufigsten verwendete und sicherste Lösung.

Zusammenfassen

Dieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalt auf 123WORDPRESS.COM lesen können!

Das könnte Sie auch interessieren:
  • Vue implementiert den automatischen Sprung zur Anmeldeseite, wenn das Token abläuft
  • Vue hält den Benutzer angemeldet (verschiedene Token-Speichermethoden)
  • Anmeldung zur Token-Verifizierung im Vue-Projekt (Front-End-Teil)
  • Vue implementiert Benutzeranmeldung und Token-Verifizierung
  • VUE implementiert Token-Anmeldeüberprüfung

<<:  10 hervorragende Web-UI-Bibliotheken/Frameworks

>>:  Zusammenfassung verschiedener Methoden zur MySQL-Datenwiederherstellung

Artikel empfehlen

Zusammenfassung der Unterschiede zwischen Get- und Post-Anfragen in Vue

Die Betriebsumgebung dieses Tutorials: Windows 7-...

Notieren Sie eine Falle bei der Aktualisierung der MySQL-Update-Anweisung

Hintergrund Kürzlich habe ich während eines Onlin...

HTML-Tutorial: Ungeordnete Liste

<br />Originaltext: http://andymao.com/andy/...

Eine kurze Diskussion über ereignisgesteuerte Entwicklung in JS und Nodejs

Inhaltsverzeichnis Ereignisgesteuert und Publish-...

js, um einen einfachen Drag-Effekt zu erzielen

In diesem Artikel wird der spezifische Code von j...

Verwenden von CSS3 zum Erstellen von Header-Animationseffekten

Die offizielle Website von Netease Kanyouxi (http...

Ein kurzer Vortrag über den Diff-Algorithmus in Vue

Inhaltsverzeichnis Überblick Virtueller Dom Prinz...

Verwenden Sie die Befehle more, less und cat in Linux, um Dateiinhalte anzuzeigen

Unter Linux können die Befehle cat, more und less...

JavaScript implementiert den Front-End-Countdown-Effekt

In diesem Artikel wird der spezifische JavaScript...

Eine kurze Erläuterung der Schriftarteinstellungen in Webseiten

Das Festlegen der Schriftart für die gesamte Site...

Gemessenes Bild - HTTP-Anforderung

Bitte öffnen Sie die Testseite in einem gängigen ...

So legen Sie die Tabellenbreite in IE8 und Chrome fest

Wenn die oben genannten Einstellungen in IE8 und C...

So verwenden Sie vue3 zum Erstellen einer Materialbibliothek

Inhaltsverzeichnis Warum brauchen wir eine Materi...