Heim  >  Artikel  >  Web-Frontend  >  Ihre Sitzung ist abgelaufen!!

Ihre Sitzung ist abgelaufen!!

Susan Sarandon
Susan SarandonOriginal
2024-10-29 18:31:29892Durchsuche

Your Session has Expired !!

Nun, heute sprechen wir über das Konzept des „Sitzungsablaufs“, insbesondere wenn Sie NextAuth.js in Ihrem Projekt verwenden. Verstehen Sie in einfacher und freundlicher Sprache, damit keine Verwirrung entsteht.

Lassen Sie uns zunächst die Bedeutung des Fehlers „Ihre Sitzung ist abgelaufen“ verstehen. Dies ist ein

Authentifizierungsfehler, der auftritt, wenn die Anmeldesitzung des Benutzers beendet wird. Sie haben sich beispielsweise bei einer Website oder App angemeldet, diese eine Weile genutzt und sie dann für eine Weile verlassen. Als ich zurückkam, erschien auf dem Bildschirm die Meldung „Sitzung abgelaufen, bitte melden Sie sich erneut an.“ Das heißt, die Berechtigung, die Ihnen zuvor Zugriff auf die App gewährt hat, ist abgelaufen und Sie müssen sich erneut anmelden, um sich erneut zu authentifizieren. Ein Beispiel zum Verständnis: Stellen Sie sich vor, Sie sind in einem Einkaufszentrum und der Sicherheitsbeamte gibt Ihnen eine

Besucherkarte
für den Zutritt. Sobald Ihre Besucherkarte gültig ist, können Sie durch das Einkaufszentrum schlendern, einkaufen und Filme schauen. Wenn die Besucherkarte jedoch nur eine Stunde lang gültig ist und Sie die Zeitspanne überschreiten, müssen Sie erneut aussteigen oder die Erlaubnis des Sicherheitsdienstes einholen. Genauso ist die Sitzung auch eine

vorübergehende Erlaubnis

, die ablaufen kann.

Wie funktioniert NextAuth mein Session? Wenn wir nun NextAuth.js implementieren, gibt es auch dort einige Regeln. Wenn sich ein Benutzer anmeldet, verfolgt NextAuth die Identität des Benutzers mithilfe von JWT (JSON Web Tokens)

oder
Sitzungscookies

.

JWT

ist ein Token, das nach der Codierung der Anmeldeinformationen des Benutzers gesendet wird und bei jeder Anfrage gesendet wird, um zu überprüfen, ob der Benutzer gültig ist oder nicht. Sitzungscookies werden im Browser gespeichert, wodurch das Backend weiß, welcher Benutzer gerade angemeldet ist. Aber sie haben eine Ablaufzeit

, die Sie über die
    Konfiguration
  • festlegen können. Wie: MaxAge bedeutet hier, dass die Sitzung nur 30 Minuten lang aktiv bleibt. Wenn der Benutzer nach 30 Minuten eine Aktion durchführt (z. B. eine Seitenaktualisierung oder eine Anfrage), läuft die Sitzung ab und der Benutzer muss sich erneut anmelden.
  • Methode zur Vermeidung des Sitzungsablaufs
    Stille Aktualisierung:

    Sie können ein

    Aktualisierungstoken
    implementieren, das die Sitzung im Hintergrund stillschweigend aktualisiert, sodass sich der Benutzer nicht jedes Mal manuell anmelden muss.
  1. Zum Beispiel können Sie in NextAuth eine Sitzungsabfrage durchführen, sodass die Sitzung automatisch aktualisiert wird:

Angemeldet bleiben: Einige Apps bieten dem Benutzer die Option „Angemeldet bleiben“, wodurch die Ablaufzeit der Sitzung verlängert wird. Dies kann mithilfe der Token-Rotation
erfolgen, bei der bei jeder Anfrage ein neuer Token abgerufen wird.

export const authOptions = {
  session: {
    strategy: "jwt", // JWT ya session-based approach
    maxAge: 30 * 60, // 30 minutes ka session timeout
  },
  // baaki authentication providers yahan mention karte hain
}
  1. Automatischer Abmeldemechanismus: In einigen Fällen lassen Apps aus Sicherheitsgründen die Sitzung absichtlich vorzeitig ablaufen. Wie bei Banking-Apps werden Sie feststellen, dass die Sitzung abgemeldet wird, wenn Sie längere Zeit inaktiv sind. Sie können dies auch zu Ihrer NextAuth-Konfiguration hinzufügen, wenn Sie eine hohe Sicherheit aufrechterhalten möchten.

    Reales Szenario in Apps:
  2. Stellen Sie sich vor, Sie befinden sich in einer
  3. E-Commerce-App

    und haben einige Artikel in Ihren Warenkorb gelegt. Wenn die Sitzung abläuft, melden Sie sich erneut an, die Artikel im Warenkorb bleiben jedoch unverändert. Dies ist möglich, weil die Warenkorbdaten möglicherweise im lokalen Speicher gespeichert wurden. Bei einigen sensiblen Apps wie E-Mail- oder Banking-Apps muss der Benutzer jedoch die Abmeldung erzwingen, wenn die Sitzung abläuft.

    Also Freunde, das ist die vollständige Grundlage für den Sitzungsablauf und wie NextAuth.js damit in Ihrem Projekt umgeht. Dieses Konzept mag zunächst verwirrend erscheinen, doch wenn man es in der Praxis umsetzt, wird nach und nach alles klar. Wenn Sie Zweifel haben oder mehr Details zu einem bestimmten Teil wissen möchten, fragen Sie einfach nach! ?

Das obige ist der detaillierte Inhalt vonIhre Sitzung ist abgelaufen!!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn