WeChat token hitelesítés
Gyere vissza
1. A WeChat nyilvános platform hozzáférési módja nem több, mint 4 paraméter (aláírás, időbélyeg, nonce, echostr) plusz 1 token (mindkét oldalnak megfelelő)
2. A token, időbélyeg és nonce szótárok rendezése után titkosítsuk őket a "SHA1" láncsorban. Ad egy tmpStr húrt (kisbetűre átalakítva)
3. Akkor hasonlítsuk össze, hogy a tmpStr egyenlő-e az aláírással, ha egyenlő, akkor az azt jelenti, hogy a kérés a WeChat-ből származik.
4. Ha megbizonyosod, hogy a kérés a WeChat-ből érkezik, akkor egy nagy lépést tettél meg. A fennmaradó feladat az echostr paraméter továbbítása a WeChat nyilvános platformjára.
Az aláírás ellenőrzése sikeres volt, de a WeChat továbbra sem tér vissza tokent, mert xml formátumú stringet küldtem vissza, a következők szerint:
Megoldás:
Itt hangsúlyozni kell, hogy a PHP echo $echoStr-jára, WebFrom Response.Write(echoStr) rendszerére stb. Újra és újra hibakeresés után megállapították, hogy a WeChat elfogadási módszere csak "application/x-www-form-urlencoded" formátumban lesz elfogadva, ezért a HttpResponseMessage segítségével megadtam a kimeneti módszert. Végül a teszt sikeres volt!
Személy szerint azonban úgy érzem, hogy a fenti mondat nem téved, de lusta vagyok tesztelni, és rendben van, ha a "szöveg/egyszerű" szót a megfelelő típusra állítom.
POST visszatérések
Nemrégiben a WeChat fizetési funkciót használják a WeChat mini programok fejlesztésében, valamint ASP.NET WEB API-t interfészfejlesztéshez;
A fizetés sikeres megtétele után a felület megkapja a fizetési értesítés eredményét a WeChat szerverről, feldolgozza az adatokat, majd visszaküldi az adatokat a WeChat szolgáltatásnak.
A WeChat szerver nem ismeri fel a visszaküldött adatokat, ami duplikált értesítéseket eredményez.
A végleges felbontási kód a következő:
|