WeChat의 인기와 발전에 따라 WeChat 공식 계정은 많은 기업과 개인이 마케팅 및 홍보를 수행하는 데 선호하는 플랫폼이 되었습니다. WeChat JS-SDK는 WeChat 공개 계정 개발의 필수적인 부분입니다. 이는 Moments 공유, WeChat 결제 호출 등과 같은 좀 더 대화적이고 흥미로운 기능을 구현하는 데 도움이 될 수 있습니다. 이 기사에서는 개발 시 모든 사람이 이 기능을 쉽게 사용할 수 있도록 PHP에서 WeChat JS-SDK 서명을 구현하는 방법을 소개합니다.
1. WeChat JS-SDK 소개
WeChat JS-SDK는 WeChat 공식 계정에서 제공하는 개발 도구로, 공식 계정에서 WeChat의 다양한 기능을 사용할 수 있습니다. WeChat JS-SDK를 통해 웹 페이지에서 WeChat의 API 인터페이스를 호출하여 WeChat의 공유, 결제, QR 코드 스캔, 다운로드 및 기타 기능을 실현하여 사용자에게 더 나은 사용자 경험을 제공할 수 있습니다.
2. WeChat JS-SDK 서명 원칙
WeChat JS-SDK를 사용하기 전에 WeChat에서 제공하는 인터페이스를 호출하여 서명해야 합니다. WeChat JS-SDK 서명의 원리는 미리 획득한 access_token과 jsapi_ticket을 기반으로 현재 요청된 URL을 암호화하고 서명을 생성하는 것입니다. JS 파일을 프론트엔드 페이지에 도입한 후 wx.config를 통해 검증합니다. JS 파일은 자동으로 백엔드에 서명 검증을 요청합니다. 검증에 성공하면 다음 단계로 진행할 수 있습니다.
3. WeChat JS-SDK 서명 단계
WeChat JS-SDK를 사용하여 서명하기 전에 access_token 및 jsapi_ticket 두 매개변수를 가져와야 합니다. 그 중 access_token은 WeChat 퍼블릭 플랫폼에서 각 인터페이스를 호출할 때 사용하는 유일한 자격 증명이고, jsapi_ticket은 js-sdk에서 WeChat JS 인터페이스를 호출하는 데 사용되는 임시 티켓입니다. 다음과 같은 방법으로 얻을 수 있습니다:
(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;
noncestr과 timestamp는 모두 무작위로 생성된 문자열이자 타임스탬프입니다. 다음 코드를 사용하여 얻을 수 있습니다:
$nonceStr = createNonceStr();
$timeStamp = time();
//임의의 문자열 생성
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;
}
모든 매개변수를 ASCII 코드에 따라 작은 것부터 큰 것까지 정렬하고 문자열로 연결합니다. 다음 예에 표시된 대로 서명 알고리즘의 요구 사항에 따라 접합하세요.
string1 = "jsapi_ticket . "&noncestr=" . =" . $ url;
연결된 문자열을 SHA1로 암호화하여 서명을 생성하세요. 그런 다음 이러한 매개변수는 프런트엔드로 함께 반환됩니다. 다음 예와 같이
$signature = 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);
WeChat에서 제공하는 JS 파일을 프런트엔드 페이지에 삽입하고 wx.config를 호출하여 확인하면 WeChat JS-SDK에서 제공하는 기능을 사용할 수 있습니다.
4. 결론
이 글에서는 WeChat JS-SDK 서명을 PHP로 구현하는 방법을 소개합니다. WeChat JS-SDK를 사용할 때 실제 필요에 따라 관련 구성 및 호출도 수행해야 합니다. 이 기사가 마케팅 프로모션을 위해 WeChat 공개 계정을 더 잘 사용하는 데 도움이 되기를 바랍니다.
위 내용은 PHP에서 WeChat JS-SDK 서명을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!