


Fallbericht zur Implementierung der QQ-Drittanbieter-Anmeldefunktion im TP5-Praxisprojekt
Kürzlich habe ich das ThinkPHP 5-Framework verwendet, um ein Brautmoden-Shop-Projekt zu erstellen. Der offizielle Fall wurde von Tencent bereitgestellt. Es war sehr traurig Um festzustellen, dass der Controller beim Einfügen in tp5 die erwarteten Funktionen nicht ausführen kann. Wenn Sie die offiziellen Klassen von Tencent verwenden möchten, müssen Sie diese ändern:
1. Finden Sie den Kern im offiziellen SDK. Die Datei
ist include 'qqConnectAPI.php'
, wenn Sie diese öffnen Datei, Sie können sehen, dass sie mehrere andere Dateien enthält, die Comm-Datei. Die wenigen Dateien im Ordner sind nichts weiter als die Definition einiger Konstanten, die Aufzeichnung Ihres APP-SCHLÜSSELS und anderer Informationen. Es spielt einfach keine Rolle class-Ordner in tp5 und schaue mir den Code genau an. Ich habe festgestellt, dass ich die Funktion tatsächlich vollständig implementieren kann, solange ich drei Klassen bekomme.
2. Fügen Sie es in das tp-Framework ein
tp5 empfiehlt, Drittanbieter-Dinge, die nicht vom Composer installiert wurden, in das Erweiterungsverzeichnis zu legen Da wir in Zukunft möglicherweise weitere Erweiterungen vornehmen müssen, erstellen wir hier einen separaten qqlogin-Ordner für qq login.
Sie sehen, dass es nur drei Kategorien gibt Darin habe ich eine Recorder- und eine ErrorCase-Klasse erstellt. Die Funktion dieser beiden besteht darin, einige Informationen aufzuzeichnen, z. B. access_token, und ich werde sie hier direkt löschen. Beachten Sie außerdem, dass gemäß der psr4-Spezifikation der Klassenname mit dem Dateinamen übereinstimmen muss. Sie müssen daher den Dateinamen ändern und den Namespace extendqqlogin hinzufügen. Alle Klassen in tp5 müssen über Folgendes verfügen Namensraum .
Um zu verhindern, dass tp5 die von uns benötigten Dateien findet, ist es außerdem am besten, einen Root-Namespace in der Datei config.php in Zeile 30 zu registrieren:
// 注册的根命名空间 'root_namespace' => [ 'extend\qqlogin' => '../extend/qqlogin/', 'extend\baidu' => '../extend/bdlogin/' ],
3. Transformieren Sie den Quellcode
Da QC.php Oauth.php erbt, werden wir es von letzterem ändern, require_once entfernen und den Namespace hinzufügen Sprechen Sie nicht darüber. Schauen Sie sich zunächst die Klassenkonstanten der Tencent-Plattform an. Es gibt keine drei Attribute, die Sie auskommentieren oder löschen müssen. Das Gleiche gilt im Folgenden. Sie sollten sich vorstellen, dass Sie einen Groll gegen diese beiden Wörter hegen, und sie kommentieren oder löschen, wenn Sie sie sehen.
// protected $recorder; public $urlUtils; // protected $error; public $state; public $appid = "****"; public $callback = "http://****/index/user/qqcallback"; public $scope = "get_user_info";
Die folgenden vier Attribute müssen hinzugefügt werden, um CSRF-Angriffe zu verhindern. Sie können die offiziellen Dokumente in der Datei inc.php lesen Der Ordner „comm“ wird gespeichert und nun direkt übernommen und in Mitgliedsattribute umgewandelt.
Dann konstruieren Sie die Funktion und instanziieren Sie drei Klassen. Zwei davon existieren nicht mehr, und wie oben erwähnt, haben diese beiden Wörter einen Groll, also kommentieren oder löschen Sie sie, wenn Sie sie sehen.
Sehen Sie sich die erste Mitgliedsmethode unten anqq_login()
public function qq_login(){ $appid = $this->recorder->readInc("appid"); $callback = $this->recorder->readInc("callback"); $scope = $this->recorder->readInc("scope"); //---生成唯一随机串防CSRF攻击 $state = md5(uniqid(rand(), TRUE)); $this->recorder->write('state',$state); * * return $login_url; // header("Location:$login_url"); }
Wir haben die Zeilen mit diesen beiden Wörtern bereits gelöscht und wir brauchen diese Dinge erneut. Vergessen Sie nicht, dass wir hinzugefügt haben Drei Mitgliedsattribute oben haben wir bereits und verwenden sie unten. Bei der Überprüfung des Status können wir ihn über die Sitzung überprüfen: $this->appid
session('state',$this->state);
im Controller realisiert. $this->redirect()
public function qq_callback(){ // $state = $this->recorder->read("state"); //---验证state防止CSRF攻击 if(input('state') != session('state')){ // $this->error("30001"); exit('30001'); } * * // return $params["access_token"]; session('access_token',$params["access_token"]); }
-Methode ist ähnlich. Die Parameterliste wird mithilfe der Sitzung erstellt und der Rückgabewert wird direkt in die Sitzung geschrieben. get_openid()
$this->keysArr = array( "oauth_consumer_key" => (int)$this->appid, "access_token" => session('access_token'), "openid" => session('openid') );
4. Controller-Aufruf
Die Transformation ist abgeschlossen und kann im Controller verwendet werden:use extend\qqlogin\QC; // 处理qq登录 public function qqlogin() { $qq = new QC(); $url = $qq->qq_login(); $this->redirect($url); } // qq登录回调函数 public function qqcallback(UserModel $user) { $qq = new QC(); $qq->qq_callback(); $qq->get_openid(); $qq = new QC(); $datas = $qq->get_user_info(); * // 拿到用户信息后的处理 * }
Leicht zu vergessen:
openid und access_token.
Das obige ist der detaillierte Inhalt vonFallbericht zur Implementierung der QQ-Drittanbieter-Anmeldefunktion im TP5-Praxisprojekt. 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

Wenn Sie sich auf Ihrem Computer beim Steam-Konto einer anderen Person anmelden und das Konto dieser anderen Person über eine Hintergrundsoftware verfügt, lädt Steam automatisch die Hintergrundbilder herunter, die für das Konto der anderen Person abonniert wurden, nachdem Sie zu Ihrem eigenen Konto zurückgewechselt haben Deaktivieren der Steam-Cloud-Synchronisierung. Was tun, wenn WallpaperEngine die Hintergrundbilder anderer Personen herunterlädt, nachdem Sie sich bei einem anderen Konto angemeldet haben? 1. Melden Sie sich bei Ihrem eigenen Steam-Konto an, suchen Sie in den Einstellungen nach der Cloud-Synchronisierung und deaktivieren Sie die Steam-Cloud-Synchronisierung. 2. Melden Sie sich bei dem Steam-Konto einer anderen Person an, bei dem Sie sich zuvor angemeldet haben, öffnen Sie den Wallpaper Creative Workshop, suchen Sie nach den Abonnementinhalten und kündigen Sie dann alle Abonnements. (Falls Sie das Hintergrundbild in Zukunft nicht mehr finden, können Sie es zunächst abholen und dann das Abonnement kündigen.) 3. Wechseln Sie zurück zu Ihrem eigenen Steam

Mit der rasanten Entwicklung der sozialen Medien ist Xiaohongshu für viele junge Menschen zu einer beliebten Plattform geworden, auf der sie ihr Leben teilen und neue Produkte entdecken können. Während der Nutzung können Benutzer manchmal auf Schwierigkeiten stoßen, sich bei früheren Konten anzumelden. In diesem Artikel wird ausführlich erläutert, wie das Problem der Anmeldung beim alten Konto auf Xiaohongshu gelöst werden kann und wie mit der Möglichkeit umgegangen werden kann, dass das ursprüngliche Konto nach dem Ändern der Bindung verloren geht. 1. Wie melde ich mich bei Xiaohongshus vorherigem Konto an? 1. Rufen Sie das Passwort ab und melden Sie sich an. Wenn Sie sich längere Zeit nicht bei Xiaohongshu anmelden, wird Ihr Konto möglicherweise vom System recycelt. Um die Zugriffsrechte wiederherzustellen, können Sie versuchen, sich erneut bei Ihrem Konto anzumelden, indem Sie Ihr Passwort abrufen. Die Bedienungsschritte sind wie folgt: (1) Öffnen Sie die Xiaohongshu-App oder die offizielle Website und klicken Sie auf die Schaltfläche „Anmelden“. (2) Wählen Sie „Passwort abrufen“. (3) Geben Sie die Mobiltelefonnummer ein, die Sie bei der Registrierung Ihres Kontos verwendet haben

Sowohl die Mobiltelefone vivox100s als auch x100 sind repräsentative Modelle der Mobiltelefonproduktlinie von vivo. Sie repräsentieren jeweils das High-End-Technologieniveau von vivo in unterschiedlichen Zeiträumen. Daher weisen diese beiden Mobiltelefone gewisse Unterschiede in Design, Leistung und Funktionen auf. In diesem Artikel wird ein detaillierter Vergleich dieser beiden Mobiltelefone im Hinblick auf Leistungsvergleich und Funktionsanalyse durchgeführt, um Verbrauchern dabei zu helfen, das für sie geeignete Mobiltelefon besser auszuwählen. Schauen wir uns zunächst den Leistungsvergleich zwischen vivox100s und x100 an. vivox100s ist mit dem Neusten ausgestattet

Mit der rasanten Entwicklung des Internets ist das Konzept der Selbstmedien tief in den Herzen der Menschen verankert. Was genau ist Self-Media? Was sind seine Hauptmerkmale und Funktionen? Als nächstes werden wir diese Probleme einzeln untersuchen. 1. Was genau ist Self-Media? Wir-Medien bedeuten, wie der Name schon sagt, dass Sie die Medien sind. Dabei handelt es sich um einen Informationsträger, über den Einzelpersonen oder Teams selbstständig Inhalte erstellen, bearbeiten, veröffentlichen und über die Internetplattform verbreiten können. Anders als traditionelle Medien wie Zeitungen, Fernsehen, Radio usw. sind Selbstmedien interaktiver und personalisierter und ermöglichen es jedem, zum Produzenten und Verbreiter von Informationen zu werden. 2. Was sind die Hauptmerkmale und Funktionen von Self-Media? 1. Niedrige Hemmschwelle: Der Aufstieg der Selbstmedien hat die Hemmschwelle für den Einstieg in die Medienbranche gesenkt und es werden keine professionellen Teams mehr benötigt.

Xiaohongshu ist mittlerweile in das tägliche Leben vieler Menschen integriert und erfreut die Benutzer mit seinen reichhaltigen Inhalten und praktischen Bedienmethoden. Manchmal vergessen wir das Kontopasswort. Es ist wirklich ärgerlich, sich nur an das Konto zu erinnern, sich aber nicht anmelden zu können. 1. Wie melde ich mich an, wenn Xiaohongshu sich nur an das Konto erinnert? Wenn wir unser Passwort vergessen, können wir uns über den Bestätigungscode auf unserem Mobiltelefon bei Xiaohongshu anmelden. Die spezifischen Vorgänge sind wie folgt: 1. Öffnen Sie die Xiaohongshu-App oder die Webversion von Xiaohongshu. 2. Klicken Sie auf die Schaltfläche „Anmelden“ und wählen Sie „Konto und Passwort anmelden“. 4. Klicken Sie auf die Schaltfläche „Passwort vergessen“. . Geben Sie Ihre Kontonummer ein. 5. Das System sendet einen Bestätigungscode an Ihr Mobiltelefon. Geben Sie den Bestätigungscode ein und klicken Sie auf „OK“. Sie können auch ein Drittanbieterkonto verwenden (z. B

PHP-Tipps: Implementieren Sie schnell die Funktion zum Zurückkehren zur vorherigen Seite. Bei der Webentwicklung müssen wir häufig die Funktion zum Zurückkehren zur vorherigen Seite implementieren. Solche Vorgänge können das Benutzererlebnis verbessern und Benutzern die Navigation zwischen Webseiten erleichtern. In PHP können wir diese Funktion durch einfachen Code erreichen. In diesem Artikel wird erläutert, wie Sie die Funktion zum Zurückkehren zur vorherigen Seite schnell implementieren können, und es werden spezifische PHP-Codebeispiele bereitgestellt. In PHP können wir $_SERVER['HTTP_REFERER'] verwenden, um die URL der vorherigen Seite abzurufen

Was soll ich tun, wenn ich mich bei Google Chrome nicht bei meinem Konto anmelden kann? Wenn viele Benutzer diese Software verwenden, müssen sich Benutzer bei einigen Funktionen bei ihrem Google-Konto anmelden, bevor sie sie verwenden können. Sie haben es jedoch viele Male versucht, konnten sich aber nicht erfolgreich anmelden. Viele Benutzer wissen nicht, wie das geht Lösen Sie es, also ist der Herausgeber hier, um die Lösung mit Ihnen zu teilen. Ich hoffe, dass der Inhalt des heutigen Software-Tutorials für alle hilfreich sein kann. Die Lösung ist wie folgt: 1. Klicken Sie auf einen Browser auf dem Desktop und nachdem Sie ihn geöffnet haben, sehen Sie etwa Folgendes. 2. Wenn zu diesem Zeitpunkt ein Login angezeigt wird, klicken Sie darauf. Wenn Sie es nicht sehen können, klicken Sie auf die obere rechte Ecke. 3. Klicken Sie auf „Anmelden“, geben Sie dann Ihre Kontonummer ein. Sie müssen das Konto nicht nach „@“ eingeben, und klicken Sie auf „Weiter“. 4. Geben Sie das Passwort ein. Wenn Sie diese Aufforderung sehen, klicken Sie auf Aktivieren

Baidu Netdisk kann nicht nur verschiedene Softwareressourcen speichern, sondern diese auch mit anderen teilen. Es unterstützt die Multi-Terminal-Synchronisierung. Wenn auf Ihrem Computer kein Client heruntergeladen wurde, können Sie die Webversion aufrufen. Wie melde ich mich also bei der Baidu Netdisk-Webversion an? Werfen wir einen Blick auf die ausführliche Einführung. Anmeldeeingang für die Webversion von Baidu Netdisk: https://pan.baidu.com (Kopieren Sie den Link zum Öffnen in den Browser) Einführung in die Software 1. Teilen Bietet eine Dateifreigabefunktion, Benutzer können Dateien organisieren und sie mit bedürftigen Freunden teilen. 2. Cloud: Es beansprucht nicht zu viel Speicher. Die meisten Dateien werden in der Cloud gespeichert, wodurch effektiv Platz auf dem Computer gespart wird. 3. Fotoalbum: Unterstützt die Cloud-Fotoalbum-Funktion, importiert Fotos auf die Cloud-Festplatte und organisiert sie dann, damit jeder sie sehen kann.
