web-dev-qa-db-fra.com

Où stocker l'ID client et le secret OAuth 2.0?

Je développe des fonctionnalités sur l'un de mes sites WordPress qui s'intègrent à une API tierce, et cette API utilise OAuth 2.0.

J'utilise à la fois l'ID client et le secret chaque fois que j'ai besoin d'un nouveau jeton d'accès, ce qui sera au moins une fois par jour car le jeton d'accès expire après 24 heures. (La génération d'un nouveau jeton d'accès génère également un nouveau jeton d'actualisation, et le jeton d'actualisation précédent est invalidé.) Je stocke les jetons dans la table d'options de la base de données, avec le délai d'expiration.

Où devrais-je stocker mon identifiant client et mon secret? Existe-t-il un endroit typique pour stocker ce genre de chose dans WordPress? À l'heure actuelle, je les ai juste définis dans le fichier wp-config.php. Bien que je pense que cela devrait bien fonctionner, cette méthode présente-t-elle des inconvénients potentiels, en particulier en ce qui concerne la sécurité du secret client?

1
jasonp

Cela dépend de ce que vous développez. S'il s'agit d'un plugin, vous devez stocker ces paramètres dans des options, car la dernière chose à demander au propriétaire du site est de modifier son fichier de configuration.

S'il s'agit de votre propre site, faites-en simplement une constante déclarée dans votre code si vous ne souhaitez pas que celui-ci soit configurable par l'administrateur. Il n'y a aucun avantage à le conserver dans un endroit non évident qui est plus difficile à trouver lors de l'inspection du code.

En ce qui concerne la sécurité, le code est en principe plus sécurisé, car vous n'avez pas à craindre que quelqu'un pirate la base de données, propre utilisateur administrateur ...), cela ne fait presque aucune différence. (La seule différence à laquelle je peux penser est d'obtenir une copie de la base de données, mais ce type de bidouille est toujours difficile et probablement très rare)

1
Mark Kaplun