Heim >Backend-Entwicklung >PHP-Tutorial >So implementieren Sie die WeChat JS-SDK-Signatur in PHP

So implementieren Sie die WeChat JS-SDK-Signatur in PHP

WBOY
WBOYOriginal
2023-05-13 12:40:361517Durchsuche

Mit der Popularität und Entwicklung von WeChat sind offizielle WeChat-Konten für viele Unternehmen und Einzelpersonen zur bevorzugten Plattform für Marketing und Werbung geworden. Das WeChat JS-SDK ist ein integraler Bestandteil der Entwicklung öffentlicher WeChat-Konten. Es kann uns helfen, einige interaktivere und interessantere Funktionen zu implementieren, z. B. das Teilen in Moments, das Aufrufen von WeChat-Zahlungen usw. In diesem Artikel wird erläutert, wie die WeChat JS-SDK-Signatur in PHP implementiert wird, damit jeder diese Funktion in der Entwicklung nutzen kann.

1. Einführung in WeChat JS-SDK

WeChat JS-SDK ist ein von offiziellen WeChat-Konten bereitgestelltes Entwicklungstool, mit dem wir verschiedene Funktionen von WeChat in offiziellen Konten nutzen können. Über WeChat JS-SDK können wir die API-Schnittstelle von WeChat auf der Webseite aufrufen, um WeChats Funktionen zum Teilen, Bezahlen, Scannen von QR-Codes, Herunterladen und anderen Funktionen zu realisieren und den Benutzern ein besseres Benutzererlebnis zu bieten.

2. WeChat JS-SDK-Signaturprinzip

Bevor wir WeChat JS-SDK verwenden, müssen wir die von WeChat bereitgestellte Schnittstelle zum Signieren aufrufen. Das Prinzip der WeChat JS-SDK-Signatur ist: Basierend auf dem vorab erhaltenen access_token und jsapi_ticket wird die aktuell angeforderte URL verschlüsselt und eine Signatur generiert. Nachdem Sie die JS-Datei in die Front-End-Seite eingeführt haben, überprüfen Sie sie über wx.config. Die JS-Datei fordert automatisch die Signaturüberprüfung an. Wenn die Überprüfung erfolgreich ist, können Sie mit dem nächsten Schritt fortfahren.

3. WeChat JS-SDK-Signaturschritte

  1. Access_token und jsapi_ticket abrufen

Bevor wir WeChat JS-SDK zum Signieren verwenden, müssen wir die beiden Parameter access_token und jsapi_ticket abrufen. Unter diesen ist access_token der einzige Berechtigungsnachweis, den die öffentliche WeChat-Plattform beim Aufrufen jeder Schnittstelle verwendet, und jsapi_ticket ist das temporäre Ticket, das in js-sdk zum Aufrufen der WeChat JS-Schnittstelle verwendet wird. Es kann auf folgende Weise abgerufen werden:

(1) access_token

$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret =". $appsecret;
$res = json_decode(file_get_contents($url));
$access_token = $res->access_token;

(2) jsapi_ticket

$url = "https://api.weixin. qq.com /cgi-bin/ticket/getticket?type=jsapi&access_token=".$access_token;
$res = json_decode(file_get_contents($url));
$ticket = $res->ticket;

  1. Generate noncestr und Zeitstempel

noncestr und Zeitstempel sind beide zufällig generierte Zeichenfolgen und Zeitstempel. Kann mit dem folgenden Code abgerufen werden:

$nonceStr = createNonceStr();
$timeStamp = time();

//Generiere eine zufällige Zeichenfolge
function createNonceStr($length = 16){

$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$str = "";
for ($i = 0; $i < $length; $i++) {
    $str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
}
return $str;

}

  1. Parameterpaare Strings sortieren und verketten

Sortieren Sie alle Parameter nach ASCII-Code von klein nach groß und verketten Sie sie zu einem String. Achten Sie auf das Spleißen gemäß den Anforderungen im Signaturalgorithmus:

string1 = "jsapi_ticket=" "&noncestr=" =" . $ url;

  1. Verschlüsseln Sie die gespleißte Zeichenfolge mit SHA1.

Verschlüsseln Sie die gespleißte Zeichenfolge mit SHA1, um eine Signatur zu generieren. Diese Parameter werden dann gemeinsam an das Frontend zurückgegeben. Wie im folgenden Beispiel gezeigt:

$signatur = sha1($string1);

$data = array(

"appId" => $appid,
"nonceStr" => $nonceStr,
"timestamp" => $timeStamp,
"url" => $url,
"signature" => $signature,
"jsApiList" => array(
    "onMenuShareTimeline",
    "onMenuShareAppMessage",
    "onMenuShareQQ",
    "onMenuShareWeibo",
    "hideMenuItems",
    "showMenuItems",
    "chooseWXPay"
)

);

$signPackage = json_encode($data);

  1. Führen Sie die JS-Datei auf dem ein Front-End-Seite und überprüfen Sie sie

Fügen Sie die von WeChat bereitgestellte JS-Datei in die Front-End-Seite ein und rufen Sie wx.config zur Überprüfung auf. Nach erfolgreicher Überprüfung können Sie die von WeChat JS-SDK bereitgestellten Funktionen verwenden.

4. Fazit

Dieser Artikel stellt vor, wie man die WeChat JS-SDK-Signatur in PHP implementiert. Ich glaube, jeder beherrscht die grundlegende Methode. Wenn Sie WeChat JS-SDK verwenden, müssen Sie auch relevante Konfigurationen und Aufrufe basierend auf den tatsächlichen Anforderungen vornehmen. Ich hoffe, dieser Artikel kann Ihnen dabei helfen, öffentliche WeChat-Konten besser für Marketingaktionen zu nutzen.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die WeChat JS-SDK-Signatur in PHP. 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