|
|
게시됨 2018. 11. 24. 오후 3:59:26
|
|
|
|
위챗 토큰 검증
돌아오다
1. 위챗 공개 플랫폼의 접근 방식은 4개의 매개변수(서명, 타임스탬프, 랜스, 에코스트르)와 양측에 대응하는 1개의 토큰에 불과합니다.
2. 토큰, 타임스탬프, 논스 사전을 정렬한 후, 문자열 "SHA1"에 따라 암호화합니다. 문자열 tmpStr(소문자로 변환됨)을 생성합니다.
3. 그 다음 tmpStr이 서명과 같은지 비교해 보세요. 같으면 요청이 위챗에서 온 것임을 의미합니다.
4. 요청이 위챗에서 오는지 확인하면 큰 진전을 이룬 것입니다. 나머지 하나는 위챗 공개 플랫폼에 에코스트라 파라미터를 전송하는 작업입니다.
서명 검증은 성공했지만, 위챗은 여전히 XML 형식의 문자열을 반환해 토큰을 반환하지 않습니다.
용액:
여기서 강조해야 할 점은 PHP의 에코 $echoStr, WebFrom의 Response.Write(echoStr) 등을 참조한다는 것입니다. 여러 번 디버깅한 끝에 위챗의 수락 방식은 "application/x-www-form-urlencoded"로만 받아들여진다는 것을 알게 되었고, 그래서 HttpResponseMessage를 사용해 출력 방식을 지정했습니다. 마침내 테스트가 성공했습니다!
하지만 저는 위 문장이 틀리지 않았다고 생각하지만, 테스트하는 게 귀찮아서 "text/plain"을 해당 유형으로 설정해도 괜찮을 것 같습니다.
POST 반환
최근에는 위챗 미니 프로그램 개발에 위챗 결제 기능이 사용되고 있으며, 인터페이스 개발을 위한 웹 API ASP.NET 활용되고 있습니다.
결제가 성공하면, 인터페이스는 위챗 서버로부터 결제 알림 결과를 받아 데이터를 처리한 뒤 위챗 서비스에 반환합니다.
위챗 서버가 반환된 데이터를 인식하지 못해 중복 알림이 발생한다.
최종 해상도 코드는 다음과 같습니다:
|
이전의:지후 라이브 지식 공유 컬렉션다음:기백사 전집, pdf
|