>위챗 애플릿 >위챗 개발 >WeChat 개발 팁: 오류 구성:잘못된 서명에 대한 해결 방법

WeChat 개발 팁: 오류 구성:잘못된 서명에 대한 해결 방법

巴扎黑
巴扎黑원래의
2016-11-07 10:49:453663검색

WeChat 개발 팁: 구성:잘못된 서명 오류에 대한 해결 방법

WeChat 공개 플랫폼에서 config:잘못된 서명 오류에 대한 해결 방법이 계속 표시됩니다
잘못된 서명 서명 오류인 경우. 다음 순서로 확인하는 것을 권장합니다.
1. 서명 알고리즘이 올바른지 확인하고 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=를 사용하면 됩니다. 확인을 위한 jsapisign 페이지 도구입니다.
2. 구성의 nonceStr(js의 표준 낙타 대문자 S) 및 타임스탬프가 서명에 사용된 해당 noncestr 및 타임스탬프와 일치하는지 확인하세요.
3. URL이 'http(s):/를 포함하여 페이지의 전체 URL인지 확인하세요. 현재 페이지에서 확인하세요. /' 부분, 그리고 ' ? ' 뒤에 GET 매개변수 부분이 있지만 '#' 해시 다음 부분은 포함되지 않습니다.
4. 구성의 appid가 jsapi_ticket을 얻는 데 사용된 appid와 일치하는지 확인하세요.
5. access_token 및 jsapi_ticket을 캐시해야 합니다.

핵심 사항은 다음과 같습니다.
서명을 위해 얻는 URL이 동적으로 얻어지는지 확인하세요. 동적 페이지의 경우 예제 코드의 PHP 구현을 참조하세요. html의 정적 페이지인 경우 프런트 엔드에서 ajax를 통해 서명을 위해 URL이 백엔드로 전달됩니다. 프런트 엔드에서는 '#' 해시 부분을 제외하고 현재 페이지의 링크를 가져오기 위해 js를 사용해야 합니다. location.href.split('#')[0]으로 가져오고 encodeURIComponent가 필요함), 페이지가 공유되면 WeChat 클라이언트는 현재 링크를 얻지 못한 경우 링크 끝에 다른 매개변수를 추가하기 때문입니다. 동적으로 공유 페이지의 서명이 실패합니다.

올바른지 확인하는 방법을 가르쳐 주세요.
URL을 동적으로 가져오는 방법은 다음과 같습니다.

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

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

단계:
먼저 페이지에서 경고(location.href.split('#')[0])합니다. ;
그런 다음 동적으로 얻은 URL이 경고 주소와 동일한지 인쇄할 수 있습니다. 대문자 사용을 포함하여 정확히 동일해야 합니다.
다르다고 생각되면 필요에 따라 변경하세요. 어쨌든 마찬가지다. 서명 확인을 통과해야 합니다.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:없음다음 기사:微信是如何用libco支撑8亿用户的