Heim > WeChat-Applet > WeChat-Entwicklung > WeChat-Entwicklungstipps: Lösungen für den Fehler config:ungültige Signatur

WeChat-Entwicklungstipps: Lösungen für den Fehler config:ungültige Signatur

巴扎黑
Freigeben: 2016-11-07 10:49:45
Original
3660 Leute haben es durchsucht

WeChat-Entwicklungstipps: Die Lösung für den Fehler config:ungültige Signatur

Auf der öffentlichen WeChat-Plattform erscheint immer wieder die Lösung für den Fehler config:ungültige Signatur
Wenn es sich um den Signaturfehler „Ungültige Signatur“ handelt. Es wird empfohlen, die folgende Reihenfolge einzuhalten:
1. Bestätigen Sie, dass der Signaturalgorithmus korrekt ist, und Sie können http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t= verwenden jsapisign-Seitentool zur Überprüfung.
2. Bestätigen Sie, dass der NonceStr (Standard-Camel-Großbuchstabe S in js) und der Zeitstempel in der Konfiguration mit dem entsprechenden Noncestr und Zeitstempel in der Signatur übereinstimmen.
3. Bestätigen Sie, dass es sich bei der URL um die vollständige URL der Seite handelt (bitte bestätigen Sie dies in der aktuellen Seitenwarnung (location.href.split('#')[0])), einschließlich der 'http(s):/ /' Teil und ' ? GET-Parameterteil nach ', enthält jedoch nicht den Teil nach dem Hash '#'.
4. Bestätigen Sie, dass die App-ID in der Konfiguration mit der App-ID übereinstimmt, die zum Abrufen von jsapi_ticket verwendet wird.
5. Stellen Sie sicher, dass Sie access_token und jsapi_ticket zwischenspeichern.

Das ist der entscheidende Punkt:
Stellen Sie sicher, dass die URL, die Sie zum Signieren erhalten, dynamisch bezogen wird. Für dynamische Seiten beachten Sie bitte die PHP-Implementierung im Beispielcode. Wenn es sich um eine statische HTML-Seite handelt, wird die URL zur Signatur über Ajax am Frontend übergeben. Das Frontend muss js verwenden, um den Link der aktuellen Seite abzurufen, mit Ausnahme des Hash-Teils „#“ (kann sein). erhalten durch location.href.split('#')[0], und encodeURIComponent ist erforderlich), da der WeChat-Client am Ende Ihres Links weitere Parameter hinzufügt, wenn der aktuelle Link nicht abgerufen wird dynamisch schlägt die Signatur der freigegebenen Seite fehl.

Erklären Sie, wie Sie überprüfen können, ob die URL korrekt ist:
Die Methode zum dynamischen Abrufen der URL lautet:

$protocol = (!empty($_SERVER[HTTPS]) && $_SERVER[ HTTPS] != = aus ||. $_SERVER[SERVER_PORT] == 443) ? "https://" : "http://";

$url = $protocol.$_SERVER[HTTP_HOST]. $_SERVER[REQUEST_URI ];

Schritte:
Zuerst alarmieren Sie(location.href.split('#')[0]) auf der Seite ;
Anschließend können Sie ausdrucken, ob die dynamisch ermittelte URL mit der Adresse Ihrer Benachrichtigung übereinstimmt. Sie müssen genau gleich sein, einschließlich der Groß- und Kleinschreibung.
Wenn Sie feststellen, dass es anders ist, dann ändern Sie es entsprechend Ihren Bedürfnissen. Wie auch immer, es ist das Gleiche. Die Signaturprüfung muss bestanden werden.


Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage