Bonjour,


Ayant à ma charge la mise en place d'un web service (API), j'utilise à l'instars de Amazon et d'autres géants du web, une authentification et contrôle d'intégrité basé sur HMAC avec SHA1, cependant au vu de la complexité à "canoniser" les données à signer (url trié par ordre alphabétique pour OAuth par exemple, etc...), sans compter les possibles erreurs liés à l'ajout de paramétres par composant ou librairie tiers...

J'ai réfléchis à une solution (qui existe peut-être déjà mais rien trouvé a ce sujet) qui consisterai à serializer tous les paramétres GET, dans un objet JSON (à l'instars du JSON/RPC en plus soft), puis l'objet JSON serais stringifié dans une variable GET prédéfinie (admettons 'requete'), ainsi le calcul de la signature avec HMAC_SHA1 et la clée privée et accessoirement le nonce/timestamp, serais plus simple, car plus besoin de 'canonisation' lourde et contraignante de la part du serveur et du client.

Certes le temps alloué à la canonisation des données et substituer en partie par la création et la stringification de l'objet JSON, mais sa ma l'air quand même moin source de vrai-faux positif lors du controle de la signature par le serveur.

Pensez-vous que ce que je propose est un pure sacrillége de 'non optimisation' ou au contraire peut s'avérer utile ?