nginx - WeChat JSSDK, 구성 실행 시 오류가 보고됨: 잘못된 서명
给我你的怀抱
给我你的怀抱 2017-05-16 17:23:32
0
8
1052

1. 계산된 서명은 WeChat에서 제공하는 샌드박스(http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign
)와 일치합니다. 2. 문제를 해결하기 위해 두 가지 방법을 시도했지만 여전히 동일한 오류가 발생했습니다. 1) 로컬에서 서버로 URL을 전달하고 ajax를 통해 서버의 json 데이터를 가져온 다음 wx.config의 내용을 채웁니다. 2) 서버에서 가져옵니다. 이번 방문 링크
3. 역방향 도메인 이름 프록시로 nginx를 사용하지만 업스트림용으로 처리되었습니다
결론: WeChat의 JSSDK에 버그가 있는 것으로 의심됩니다

给我你的怀抱
给我你的怀抱

모든 응답(8)
左手右手慢动作

확인이 필요할 수도 있습니다
1) WeChat의 jsticket을 서버에 전역적으로 캐시합니까? 새 jsticket을 얻은 후 원래 jsticket(access_token 포함)이 새로 고쳐집니다
2) 쿼리 문자열 등을 포함하여 URL이 일치하는지 여부
3) nonceStr과 timestamp가 서명과 일치하는지 여부

Ty80

또한 버그가 있는 것으로 의심됩니다. 잘못된 서명은 Android에서는 유효하지 않지만 iOS에서는 정확합니다. 그리고 공식 디버깅 페이지에 전달됐는데 지금은 원래 포스터가 해결됐는지 궁금하네요.

过去多啦不再A梦

아마도 url传入的问题,建议wx.config은 백그라운드를 통해 생성된 다음 프런트엔드에 기록됩니다.

나처럼

으아아아

그럼

으아아아 으아아아
仅有的幸福

원본 포스터의 문제는 해결하셨나요? 저도 같은 문제입니다. 아무튼 위챗 테스트 툴과 비교를 위해 인터페이스도 테스트해봤는데 계속 잘못된 서명이 나옵니다

给我你的怀抱

서명은 공식 서명과 동일하며, URL도 location.href.split('#')[0]을 통해 얻습니다. . 또한 공용 계정의 JS 인터페이스에 대한 보안 도메인 이름도 계속해서 config:invalid 서명을 표시하지만 작동하지 않습니다. . 하나님께 도움을 구하세요,
테스트 주소: http://weixin.zhjckx.com/ApiWeiXin/JsSdk

淡淡烟草味

다른 사람의 답변 보기:

/q/1010000002502269/a-1020000002549180X2X

Ty80

제가 겪은 상황은 서명 생성 시 현재 URL을 얻을 때 laravel 프레임워크의 URL:full() 메서드를 사용했다는 것입니다. 결과적으로 이 메서드는 URL의 쿼리 문자열 순서를 재정렬합니다. 예를 들어 방문 시 URL은

입니다. 으아아아

, URL:full()을 사용하여 얻은 결과는

으아아아

정직하고 실용적인 WeChat 공식 예시로 변경:

으아아아

괜찮습니다.

阿神

직접 수정해서 테스트해봤는데 괜찮네요. 그 이유는 공식 httpGet 함수를 사용할 수 없기 때문입니다.

jssdk.php에 있는 이 두 문장을 말해주세요

으아아아
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿