WeChati tokeni verifitseerimine
Mine tagasi
1. WeChati avaliku platvormi ligipääsumeetod on mitte rohkem kui 4 parameetrit (allkiri, ajatempl, nonce, echostr) pluss 1 token (vastab mõlemale poolele)
2. Pärast tokeni, ajatempli ja nonce sõnastiku sorteerimist krüpteeri need stringi "SHA1" järgi. Annab stringi tmpStr (muudetud väiketähtedeks)
3. Seejärel võrdle, kas tmpStr on allkirjaga võrdne – kui see on võrdne, tähendab see, et päring tuleb WeChatist.
4. Kui veendud, et päring tuleb WeChatist, oled teinud suure sammu. Ülejäänu on echostr-parameetri edastamine WeChati avalikule platvormile.
Minu allkirja kontroll õnnestus, kuid WeChat ei tagasta tokenit, sest tagastasin stringi xml-formaadis, järgmiselt:
Lahus:
Siin tuleb rõhutada, et viide PHP echo $echoStr-ile, WebFromi Response.Write(echoStr) jne-le. Pärast korduvat silumist selgus, et WeChati aktsepteerimismeetod aktsepteeritakse ainult kui "application/x-www-form-urlencoded", seega kasutasin HttpResponseMessage'i, et määrata väljundmeetod. Lõpuks oli test edukas!
Kuid isiklikult arvan, et ülaltoodud lause ei ole vale, kuid ma olen laisk testima ja peaks olema okei määrata "tekst/plain" vastavaks tüübiks.
POST-i tagasitulekud
Hiljuti on WeChati maksefunktsiooni kasutatud WeChati miniprogrammide arendamisel ning ASP.NET WEB API-d liidese arendamiseks;
Pärast makse õnnestumist saab liides WeChati serverist makseteavituse tulemuse, töötleb andmed ja tagastab andmed WeChati teenusele.
WeChati server ei tunne tagastatud andmeid ära, mis põhjustab dubleeritud teavitused.
Lõplik resolutsioonikood on järgmine:
|