So implementieren Sie die Code-Scanning-Anmeldung in Redis
Einführung in die Anforderungen
Lassen Sie uns zunächst vorstellen, was die Anmeldung per Scan-QR-Code ist. Mittlerweile haben die meisten Schüler QQ, Taobao, Tmall und andere Software auf ihren Mobiltelefonen installiert. Die Unternehmen, die diese Apps entwickeln, verfügen über entsprechende Websites. Um die Anmeldung für Benutzer bei der Nutzung ihrer Website komfortabler und sicherer zu gestalten. Diese Unternehmen bieten Dienste an, bei denen Sie sich mit Ihrem Mobiltelefon durch Scannen anmelden können. Der Effekt beim Anmelden auf der Webseite ist wie folgt:


Grundsatzerklärung
Webseite + Server
Der nächste Schritt ist die detaillierte Umsetzung dieses Dienstes. Wenn ein Benutzer die Anmeldeseite der Website öffnet, wird eine Anfrage an den Browserserver gesendet, um den Anmelde-QR-Code zu erhalten. Dies ist das Prinzip.
Nach Erhalt der Anfrage generiert der Server zufällig eine UUID, speichert diese ID als Schlüsselwert auf dem Redis-Server und legt eine Ablaufzeit fest. Nach Ablauf muss der Anmelde-QR-Code des Benutzers aktualisiert und erneut abgerufen werden. Kombinieren Sie gleichzeitig diesen Schlüsselwert mit der Bestätigungszeichenfolge des Unternehmens und generieren Sie ein QR-Code-Bild über die QR-Code-Generierungsschnittstelle (QR-Code-Generierung). Im Internet gibt es viele vorgefertigte Schnittstellen und Quellcodes, die jedoch nicht verfügbar sind Hier eingeführt.) Geben Sie dann das QR-Code-Bild und die UUID an den Browser des Benutzers zurück.
Der Browser sendet regelmäßig Anfragen an den Server, um zu überprüfen, ob die Anmeldung erfolgreich war. Diese Anfragen enthalten QR-Code und UUID-Informationen. Die Anfrage trägt uuid als Kennung der aktuellen Seite. Einige Schüler sind möglicherweise verwirrt, weil der Server in Redis nur die UUID als Schlüssel speichert. Woher kommen also die ID-Informationen des Benutzers?
Hier gibt es tatsächlich Benutzer-ID-Informationen. Diese ID-Informationen werden vom mobilen Server in Redis gespeichert.
Mobiler Client + Server
Wenn der Browser den QR-Code erhält, zeigt er ihn auf der Webseite an und fordert den Benutzer auf: „Bitte nehmen Sie Ihr Mobiltelefon heraus und öffnen Sie den Scan, um sich anzumelden.“ Der Benutzer nimmt sein Mobiltelefon heraus und scannt den QR-Code, um Verifizierungsinformationen und eine UUID zu erhalten (die Funktion zum Scannen des QR-Codes zum Erhalten einer Zeichenfolge gibt es auch im Internet in vielen Demos, daher werde ich sie hier nicht im Detail vorstellen). .
Da sich das mobile Endgerät bereits angemeldet hat, enthalten die Parameter beim Zugriff auf den Server des mobilen Endgeräts das Token eines Benutzers, und der Server des mobilen Endgeräts kann es auf die Benutzer-ID des Benutzers analysieren (hier wird der Wert stattdessen vom Token übernommen). Das direkte Weitergeben der Benutzer-ID dient der Sicherheit. Das direkte Weitergeben der Benutzer-ID kann abgefangen und geändert werden. Das Token ist verschlüsselt, sodass das Risiko einer Änderung viel geringer ist.
Das mobile Endgerät verwendet die analysierten Daten und das Benutzertoken als Parameter, um eine Anmeldeanforderung zur Überprüfung an den Server zu senden (der Server ist hier der mobile Server, und der mobile Server und der Webserver sind nicht derselbe Server). Nach Erhalt der Anfrage vergleicht der Server zunächst die Überprüfungsinformationen in den Parametern, um zu bestätigen, ob es sich um die vom Benutzer zum Anmelden angeforderte Schnittstelle handelt. Wenn ja, senden Sie eine Bestätigungsnachricht an das Mobiltelefon zurück.
Wenn das mobile Endgerät eine Antwort erhält, sollte das Anmeldebestätigungsfeld angezeigt werden, um Fehlbedienungen des Benutzers zu vermeiden und das Anmeldeerlebnis zu verbessern. Nachdem der Benutzer bestätigt hat, dass der Anmeldevorgang durchgeführt wurde, sendet das Mobiltelefon die Anfrage erneut. Nachdem der Server die UUID und die Benutzer-ID erhalten hat, speichert er die Benutzer-ID des Benutzers als Wert in einem Schlüssel-Wert-Paar in Redis mit der UUID als Schlüssel.
Erfolgreiche Anmeldung
Wenn der Browser dann erneut eine Anfrage sendet, kann der browserseitige Server eine Benutzer-ID abrufen und die Anmeldemethode aufrufen, um ein browserseitiges Token zu generieren. Wenn der Browser erneut eine Anfrage sendet, wird der Benutzer zurückgegeben Informationen an den Browser und die Anmeldung ist erfolgreich. Wir entscheiden uns dafür, Benutzer-IDs statt Benutzerinformationen direkt zu speichern, da die Benutzerinformationen auf dem Mobiltelefon und im Browser möglicherweise nicht genau identisch sind.
Das Login-Schema sieht wie folgt aus:

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Code-Scanning-Anmeldung in Redis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Der Redis -Cluster -Modus bietet Redis -Instanzen durch Sharding, die Skalierbarkeit und Verfügbarkeit verbessert. Die Bauschritte sind wie folgt: Erstellen Sie ungerade Redis -Instanzen mit verschiedenen Ports; Erstellen Sie 3 Sentinel -Instanzen, Monitor -Redis -Instanzen und Failover; Konfigurieren von Sentinel -Konfigurationsdateien, Informationen zur Überwachung von Redis -Instanzinformationen und Failover -Einstellungen hinzufügen. Konfigurieren von Redis -Instanzkonfigurationsdateien, aktivieren Sie den Cluster -Modus und geben Sie den Cluster -Informationsdateipfad an. Erstellen Sie die Datei nodes.conf, die Informationen zu jeder Redis -Instanz enthält. Starten Sie den Cluster, führen Sie den Befehl erstellen aus, um einen Cluster zu erstellen und die Anzahl der Replikate anzugeben. Melden Sie sich im Cluster an, um den Befehl cluster info auszuführen, um den Clusterstatus zu überprüfen. machen

Die Verwendung der REDIS -Anweisung erfordert die folgenden Schritte: Öffnen Sie den Redis -Client. Geben Sie den Befehl ein (Verbschlüsselwert). Bietet die erforderlichen Parameter (variiert von der Anweisung bis zur Anweisung). Drücken Sie die Eingabetaste, um den Befehl auszuführen. Redis gibt eine Antwort zurück, die das Ergebnis der Operation anzeigt (normalerweise in Ordnung oder -err).

Um alle Schlüssel in Redis anzuzeigen, gibt es drei Möglichkeiten: Verwenden Sie den Befehl keys, um alle Schlüssel zurückzugeben, die dem angegebenen Muster übereinstimmen. Verwenden Sie den Befehl scan, um über die Schlüssel zu iterieren und eine Reihe von Schlüssel zurückzugeben. Verwenden Sie den Befehl Info, um die Gesamtzahl der Schlüssel zu erhalten.

Redis verwendet eine einzelne Gewindearchitektur, um hohe Leistung, Einfachheit und Konsistenz zu bieten. Es wird E/A-Multiplexing, Ereignisschleifen, nicht blockierende E/A und gemeinsame Speicher verwendet, um die Parallelität zu verbessern, jedoch mit Einschränkungen von Gleichzeitbeschränkungen, einem einzelnen Ausfallpunkt und ungeeigneter Schreib-intensiver Workloads.

So löschen Sie Redis -Daten: Verwenden Sie den Befehl Flushall, um alle Schlüsselwerte zu löschen. Verwenden Sie den Befehl flushdb, um den Schlüsselwert der aktuell ausgewählten Datenbank zu löschen. Verwenden Sie SELECT, um Datenbanken zu wechseln, und löschen Sie dann FlushDB, um mehrere Datenbanken zu löschen. Verwenden Sie den Befehl del, um einen bestimmten Schlüssel zu löschen. Verwenden Sie das Redis-Cli-Tool, um die Daten zu löschen.

Zu den Schritten zum Starten eines Redis -Servers gehören: Installieren von Redis gemäß dem Betriebssystem. Starten Sie den Redis-Dienst über Redis-Server (Linux/macOS) oder redis-server.exe (Windows). Verwenden Sie den Befehl redis-cli ping (linux/macOS) oder redis-cli.exe ping (Windows), um den Dienststatus zu überprüfen. Verwenden Sie einen Redis-Client wie Redis-Cli, Python oder Node.js, um auf den Server zuzugreifen.

Der beste Weg, um Redis -Quellcode zu verstehen, besteht darin, Schritt für Schritt zu gehen: Machen Sie sich mit den Grundlagen von Redis vertraut. Wählen Sie ein bestimmtes Modul oder eine bestimmte Funktion als Ausgangspunkt. Beginnen Sie mit dem Einstiegspunkt des Moduls oder der Funktion und sehen Sie sich die Codezeile nach Zeile an. Zeigen Sie den Code über die Funktionsaufrufkette an. Kennen Sie die von Redis verwendeten Datenstrukturen. Identifizieren Sie den von Redis verwendeten Algorithmus.

Um die Operationen zu sperren, muss die Sperre durch den Befehl setNX erfasst werden und dann den Befehl Ablauf verwenden, um die Ablaufzeit festzulegen. Die spezifischen Schritte sind: (1) Verwenden Sie den Befehl setNX, um zu versuchen, ein Schlüsselwertpaar festzulegen; (2) Verwenden Sie den Befehl Ablauf, um die Ablaufzeit für die Sperre festzulegen. (3) Verwenden Sie den Befehl Del, um die Sperre zu löschen, wenn die Sperre nicht mehr benötigt wird.
