magento / zf1

ZF1 adopted for Magento 2. Use composer in Magento 2 root to download it.
BSD 3-Clause "New" or "Revised" License
60 stars 61 forks source link

fix(oauth): sort parameters in a standard way as per the specs #34

Open real34 opened 4 years ago

real34 commented 4 years ago

This PR is similar to https://github.com/OpenMage/magento-lts/pull/721 Please read the full description there.

TL;DR

Parameters must be "sorted by name, using lexicographical byte value ordering" (from Oauth specs) which is incorrect if using strnatcmp.

Magento is not able to validate signatures for requests with parameters such as /rest/V1/foo?keys[0]=test1&keys[1]=test2&keys[2]=test3&keys[3]=test4&keys[4]=test5&keys[5]=test6&keys[6]=test7&keys[7]=test8&keys[8]=test9&keys[9]=test10&keys[10]=test11 as it will consider that keys[10] goes after keys[9] whereas it should be ordered between keys[1] and keys[2].