Verfahren Jede Anforderungsschnittstelle enthält ein Token zur Überprüfung Schlüsselwert: Zufallszahl + Zeitstempel + Salt DemoMini-Programm<Ansicht> <button bindtap="loadTokenData">Token-Anforderungsdaten übertragen</button> </Ansicht> Seite({ Daten: { }, beim Laden:Funktion(){ // diese._loadData(); }, //Token generieren setToken:Funktion(Rückruf){ // wx.setStorageSync('Token', "sfspx64w8x47w14x3zX4x4wf4") var das = dies; wx.Anfrage({ URL: „http://2021xcx-api.com/api/gettoken“, Methode: 'POST', Erfolg: Funktion (Res) { Konsole.log(Res.Daten); var Daten = res.Daten; wenn(Datencode==1){ //Aktualisieren Sie den neu erworbenen Token-Wert wx.setStorageSync('token', data.token); // Rückruffunktion ausführen callback&&callback() }anders{ das.setToken(); } } }) }, ladeToeknData:Funktion(){ var das = dies; wx.Anfrage({ URL: „http://2021xcx-api.com/api/orders“, Methode: 'POST', Kopfzeile: { 'Inhaltstyp': 'Anwendung/JSON', „Token“: wx.getStorageSync(„Token“) }, Erfolg: Funktion (Res) { var Daten = res.Daten; console.log(Daten) wenn(data.code==903){ // Token läuft ab, Anforderung zum erneuten Festlegen // Führen Sie eine Rückruffunktion aus und führen Sie diese Methode weiterhin aus, nachdem das Token erneut abgerufen wurde. das.setToken(das.loadTokenData) } } }) }, }) Backend-SchnittstelleRouting-Konfiguration <?php Route::post("api/orders", "api/index/getOrders"); //Zeichen Route::post("api/gettoken", "api/token/createToken"); Index.php <?php Namespace App\API\Controller; verwenden Sie app\api\controller\Token; verwenden Sie think\Cache; Klasse Index erweitert Token { öffentliche Funktion getOrders(Token $token){ $token->verifyToken(); $data['Bestellungen'] = [ 'id' => 1, 'Titel' => 'Apfel', 'Zeit' => Zeit() ]; echo json_encode($data); } } Token.php <?php Namespace App\API\Controller; verwenden Sie think\Controller; Klasse Token erweitert Controller { geschützt $returnParam = [ 'Code' => 1, 'msg' => 'Anfrage fehlgeschlagen' ]; /** * [verifyToken überprüft, ob der Token mitgeführt wird und existiert] * @return [Typ] [Beschreibung] */ öffentliche Funktion „verifyToken()“ { $token = Anfrage()->Header()['Token']; $isSetToken = cache($token); // dump($isSetToken); die; wenn(!$isSetToken){ $this->returnParam['code'] = 903; $this->returnParam['msg'] = "Token-Verifizierung fehlgeschlagen"; echo json_encode( $this->returnParam );die; } } /** * [createToken Token-Generierung] * Tipp: Benutzer-ID/Session_Kye/OpenID im Token aufzeichnen * @return [Typ] [Beschreibung] */ öffentliche Funktion createToken() { $randStr = rand(1,9999); $zeit = Zeit(); $Verkauf = "xixi2021"; // * Hier simulieren – Die WeChat-Schnittstelle muss den Sitzungsschlüssel und die OpenID nicht abrufen $tokenValue = [ 'uid' => 1, 'Sitzungsschlüssel' => '84848aasa', 'openid' => '20oxl65wc4d4s5x7hwc', 'Code' => 'sssaaeee' ]; $tokenKey = md5($randStr.$time.$sale); //Token-Daten zwischenspeichern cache($tokenKey, json_encode($tokenValue), 1); $returnParam = [ 'Code' => 1, 'Token' => $TokenSchlüssel ]; echo json_encode($returnParam); } } Dies ist das Ende dieses Artikels über die Generierung und Verifizierung von Miniprogramm-Token. Weitere relevante Inhalte zur Generierung und Verifizierung von Miniprogramm-Token finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Informationen zum Debuggen von CSS-Cross-Browser-Style-Fehlern
>>: Detaillierte Anwendungsfälle von MySql Escape
Inhaltsverzeichnis Vorwort Installation und Konfi...
1. 85 % der Anzeigen werden nicht gelesen <br ...
Kommen wir ohne weitere Umschweife direkt zum Cod...
Problembeschreibung Folgende Ergebnisse möchte ic...
Allgemeine Verwendung von Regexp in Mysql Fuzzy-M...
Das doppelte Absenden von Formularen ist das häuf...
Rendern Definieren Sie das Skelett, schreiben Sie...
Als ich kürzlich an einem Projekt arbeitete, wurd...
Ziel Zeigen Sie eine der Daten im iostat-Befehl i...
Vorwort Die Projektanforderung besteht darin, fes...
Temporäre Tabellen und Speichertabellen Eine Spei...
Im vorherigen Artikel https://www.jb51.net/articl...
Inhaltsverzeichnis 1. Systemüberwachung 2. Dateio...
Mit dem MySQL-Befehl „explain“ können Sie die Lei...
Win10 installiert die dekomprimierte Version von ...