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

Weitere Möglichkeiten zur Verwendung von spitzen Klammern in Bash

Vorwort In diesem Artikel werden wir weitere Verw...

Vue implementiert die browserseitige Code-Scan-Funktion

Hintergrund Vor nicht allzu langer Zeit habe ich ...

Detaillierte Erklärung der Rolle von Klammern in AngularJS

1. Die Rolle der Klammern 1.1 Eckige Klammern [ ]...

Warum funktioniert Ihre Größe: 100 % nicht?

Warum funktioniert Ihre Größe: 100 % nicht? Diese...

Beschreibung der Nginx-Zugriffsprotokoll- und Fehlerprotokollparameter

veranschaulichen: Es gibt zwei Haupttypen von Ngi...

Einführung in HTML für Frontend-Entwickler

1 Einführung in HTML 1.1 Erste Erfahrungen mit Co...

Hinweise zum virtuellen Dateisystem des Linux-Kernel-Gerätetreibers

/******************** * Virtuelles Dateisystem VF...

uniapp implementiert Datums- und Zeitauswahl

In diesem Artikelbeispiel wird der spezifische Co...

MySQL-Optimierungsstrategie (empfohlen)

Zusammenfassend: 1. Berücksichtigen Sie die Leist...

Der Prozess der Installation von SVN auf Ubuntu 16.04.5LTS

Dieser Artikel stellt kurz den Prozess der Einric...

Analyse des Unterschieds zwischen absolutem und relativem Pfad in HTML

Wie in der Abbildung gezeigt: Mit einer einzelnen ...

MySQL 5.6 Installationsschritte mit Bildern und Text

MySQL ist ein Open-Source-Verwaltungssystem für k...