Comment garder les clés API secret lors de l'utilisation de code Javascript coté client?
Par exemple, découvrez ce Facebook plugin.
Dans le côté client, la clé API est clairement visible. Quel est l'arrêt d'un autre utilisateur à partir de l'obtention de cette clé et de l'utilisation de cette fonctionnalité sur un autre site?
J'ai pensé un très naïve de la mise en œuvre serait de vérifier le domaine d'où provient la demande mais ce genre de choses sont faciles à faux.
Si je devais créer quelque chose de similaire, comment pourrais-je aller sur la sécurisation du processus d'authentification?
Je veux que le bien de ce côté client, même si une certaine forme d'authentification du serveur sera sûrement nécessaire? Tout des liens ou des conseils seraient grandement appréciés.
Mise à jour
Similaire question sur les clés API que j'ai trouvé utile.
- Avez-vous regardé twitter @n'importe où? La clé API est ouverte, mais ils utilisent d'autres informations /le secret de tester les données
Vous devez vous connecter pour publier un commentaire.
En trois mots: la validation côté serveur. FB lui-même renvoie une erreur lorsque vous utilisez une clé incorrecte pour un site donné. La clé de l'API n'est pas censé être secret (par opposition à la clé secrète).
Je n'ai pas fait moi-même, mais je sais que le type d'attaque que vous êtes inquiet est appelée Cross-site Request Forgery (CSRF). Le Article de Wikipedia sur qui donne quelques conseils sur la façon de le prévenir.
"How to prevent Cross-site Request Forgery?"