Ověření tokenu WeChat
Vrať se
1. Způsob přístupu na veřejnou platformu WeChat je pouze 4 parametry (podpis, časové razítko, nonce, echostr) plus 1 token (odpovídající oběma stranám)
2. Po setřídění slovníků tokenů, časových razítek a nonce je zašifrujte podle řetězce "SHA1". Výsledkem je řetězec tmpStr (převedeno na malé písmeno)
3. Poté porovnejte, zda je tmpStr rovno signaturě, pokud je stejné, znamená to, že požadavek pochází z WeChatu.
4. Pokud zajistíte, že žádost pochází z WeChatu, udělali jste velký krok. Zbývající je práce na přenosu parametru echostr na veřejnou platformu WeChat.
Moje ověření podpisu je úspěšné, ale WeChat stále nevrací token, protože jsem vrátil řetězec ve formátu xml, a to následovně:
Řešení:
Je třeba zdůraznit, že se zde odkazuje na PHP echo $echoStr, WebFrom's Response.Write(echoStr) atd. Po opakovaném ladění bylo zjištěno, že metoda přijetí WeChatu bude přijata pouze jako "application/x-www-form-urlencoded", takže jsem použil HttpResponseMessage k určení výstupní metody. Nakonec byl test úspěšný!
Osobně si ale myslím, že výše uvedená věta není špatná, ale jsem líný to testovat, a mělo by být v pořádku nastavit "text/plain" na odpovídající typ.
POST návraty
V poslední době byla funkce plateb WeChat využita při vývoji mini programů WeChat a ASP.NET WEB API pro vývoj rozhraní;
Po úspěšné platbě rozhraní obdrží výsledek oznámení o platbě ze serveru WeChat, zpracuje data a vrátí data zpět do služby WeChat.
WeChat server nerozpoznává vrácená data, což vede k duplicitním oznámením.
Konečný kód rozlišení je následující:
|