Heim >Backend-Entwicklung >PHP-Tutorial >thinkphp5 WeChat-Token-Zertifizierung für öffentliche Konten

thinkphp5 WeChat-Token-Zertifizierung für öffentliche Konten

不言
不言Original
2018-04-19 14:38:284000Durchsuche

Der Inhalt dieses Artikels befasst sich mit der Token-Authentifizierung für öffentliche Konten von thinkphp5, die einen gewissen Referenzwert hat. Jetzt kann ich ihn mit allen teilen, die ihn benötigen.

Zuerst Erklären Sie zunächst, dass ich das öffentliche WeChat-Konto mit dem Thinkphp5-Framework entwickelt habe. Ohne ein Framework habe ich mit der Entwicklung begonnen. Später bin ich auf ein Problem gestoßen, das ich nicht lösen konnte zum Entwickeln in die Windows-Entwicklungsumgebung, was mir viel Ärger erspart hat. Dieser Editor ist sehr leistungsfähig. Die Download-Adresse von Thinphp5 ist hier: http://www.thinkphp.cn/down.html . Ich habe das Kernboard heruntergeladen.

Im Folgenden werden andere Konfigurationen vorgestellt . Zuerst müssen Sie ein öffentliches Konto registrieren und dann können Sie sich anmelden, wie in der Abbildung unten gezeigt:


Nach dem Aufrufen der Schnittstelle wird der detaillierte Registrierungsprozess nicht wiederholt. Sie können die WeChat-Entwicklungsdokumentation anzeigen: https://mp.weixin.qq.com/. wiki?t=resource/res_main&id=mp1472017492_58YV5 Sie können es bei Bedarf anzeigen. Wenn Sie ein Einzelbenutzer sind, wählen Sie einfach ein Bevor Sie das Dienstkonto verwenden können, müssen Sie sich jedoch authentifizieren, und Unternehmen benötigen eine Unternehmensauthentifizierung. Rufen Sie nach der Anmeldung die Seite auf und klicken Sie dann auf die Grundkonfiguration die untere linke Ecke:


Geben Sie die Konfigurationsseite wie unten gezeigt ein:


Wenn es nicht konfiguriert ist, ist das Deaktivierungssymbol Im Bild wird das Wort „Aktivieren“ angezeigt. Die Informationen wurden nicht ausgefüllt. Zuerst müssen Sie auf „Konfiguration ändern“ klicken und dann die Server-URL-Adresse eingeben. Auf diese Adresse muss über das externe Netzwerk zugegriffen werden können heißt natapp. Der spezifische Link lautet: https://natapp.cn/ login; Nach der Anmeldung müssen Sie sich registrieren und müssen sich mit Ihrem echten Namen authentifizieren, bevor Sie einen Kanal kaufen können. Anschließend können Sie dem Tutorial folgen, um Ihren Computer als Entwicklungsumgebung zu verwenden Server wie Alibaba Cloud und Sina Cloud usw.;

Bevor Sie WeChat entwickeln, benötigen Sie Um Ihre Entwickleridentität zu überprüfen, wird vom WeChat-Entwicklungsteam ein Authentifizierungslink bereitgestellt: 1) Sortieren Sie die drei Parameter Token, Zeitstempel und Nonce in lexikografischer Reihenfolge. 2) Fügen Sie die drei Parameterzeichenfolgen zu einer Zeichenfolge für die SHA1-Verschlüsselung zusammen. 3) Der Entwickler Erhält die verschlüsselten Zeichen. Die Zeichenfolge kann mit der Signatur verglichen werden, um anzuzeigen, dass diese drei Anforderungen tatsächlich sehr einfach sind. Sehen Sie sich das öffentliche Entwicklungsdokument von WeChat an. Fügen wir den folgenden Code hinzu:

·Eine kurze Erklärung, hier habe ich einfach ein Urteil hinzugefügt, wenn ich den Token nicht verifiziere und ich Ich bin nur hier, um auf WeChat zuzugreifen und darauf zu antworten. Eine Verifizierung ist nicht erforderlich. Wenn es sich nicht um eine Token-Verifizierung handelt, sendet der WeChat-Server die Daten im Echostr-Feld nicht. Wenn also keine solchen Daten vorhanden sind, führen wir entsprechende Tests durch Vorgänge wie Antwortinformationen usw.; Wenn die Token-Authentifizierung fehlschlägt, überprüfen Sie bitte den Dateispeicherpfad. Nein, gibt es ein Problem mit meinem Code, bevor ich mich erfolgreich authentifiziert habe? erste Authentifizierung fehlgeschlagen, klicken Sie einfach noch ein paar Mal

public function index(){
		$timestamp = $_GET['timestamp'];		
        $nonce     = $_GET['nonce'];
        $token     = '你定义的token令牌';
        $signature = $_GET['signature'];
        $array     = array($timestamp,$nonce,$token);
        sort($array);
        //将排序后的三个参数拼接之后参数拼接之后进行sha1加密
        $tmpstr    = implode('',$array);
        $tmpstr    = sha1($tmpstr);$this->wxLog('hello');
        //将加密后的字符串与signature进行对比;
        if($tmpstr == $signature && isset($_GET['echostr'])){
                echo $_GET['echostr'];
                exit;
        }else{
			
			$this->responseMsg();
		
		}
	}

Nachdem Sie sich für Natapp beworben und die interne Offenlegung abgeschlossen haben, geben Sie die URL in die URL ein, Hinweis: Auf diese URL muss direkt zugegriffen werden können Ihre Schnittstelle Die Datei ist die Datei mit der obigen Codefolge. Schreiben Sie dann das von Ihnen definierte Token, geben Sie den obigen Code ein und generieren Sie dann zufällig einen „Nachrichtenverschlüsselungs- und -entschlüsselungsschlüssel “. Nach der Generierung senden, schlägt die Authentifizierung möglicherweise beim ersten Mal fehl. Wenn die Authentifizierung fehlschlägt, müssen Sie Ihren Code und Ihre URL sorgfältig überprüfen. Ich habe die URL zu Beginn falsch eingegeben, was dazu geführt hat, dass die Authentifizierung weiterhin fehlschlägt , also muss ich die richtige URL-Adresse eingeben und abschicken. Nach Erfolg können Sie Ihre Funktionen weiterentwickeln ~!

Verwandte Empfehlungen:

ThinkPHP5.0-Framework-unabhängige Konfiguration und dynamische Konfigurationsmethode

thinkphp hide index.php iis apache nginx

Entwicklung eines öffentlichen PHP-WeChat-Kontos, Abrufen persönlicher WeChat-Benutzerinformationen




Das obige ist der detaillierte Inhalt vonthinkphp5 WeChat-Token-Zertifizierung für öffentliche Konten. 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