2008-09-25 8 views
5

Je cherche à construire une application web simple qui exposera une API qui permet aux applications tierces (bien, écrites par moi, mais ce n'est pas le cas) de rechercher et de modifier les données spécifiques aux utilisateurs stockées sur le site.Existe-t-il un moyen standard pour authentifier les applications sur votre API web?

Évidemment, je ne veux pas permettre aux applications d'obtenir des informations spécifiques à l'utilisateur sans le consentement de l'utilisateur. Je voudrais une sorte d'authentification d'application où les utilisateurs permettent à une application qu'ils exécutent d'utiliser l'API Web pour accéder à leurs informations.

Existe-t-il un moyen standard d'y parvenir ou est-ce que chaque application (c'est-à-dire rememberthemilk) vient de créer une solution sur mesure pour elle?

Répondre

7

Est-ce que OAuth fonctionnera pour vous? C'est le problème qu'il a été conçu pour résoudre.

+0

Cela semble intéressant. Semble avoir une communauté assez active, au moins dans Google Groupes. Savez-vous si quelqu'un l'utilise bien? RTM semble utiliser leur propre chose, tout comme Twitter ..? Google le soutient (mais a aussi sa propre chose) .. juste ne veut pas construire à un «standard» que personne n'utilise, vous savez: P – SCdF

+0

Selon ars, "il a eu le soutien développemental des individus et des employés de Des entreprises comme Google, AOL, Yahoo, Twitter, Pownce, Six Apart, Blaine Cook (anciennement de Twitter, maintenant chez Yahoo), et Mark Atwood. ". Assez bon pour moi :) – SCdF

+0

OAuth ne couvre qu'un seul composant de votre API. Donc, à moins que le reste de votre API ne suive un standard implémenté par d'autres personnes, cela n'a pas d'importance si d'autres utilisent OAuth ou non. Si OAuth fonctionne pour vous, utilisez-le. Il a un modèle qui fonctionne, il a été bien révisé et il y a des implémentations disponibles. – keturn

3

Veillez également à accéder à votre service Web via HTTPS si les données traversent Internet. Les gens se donnent beaucoup de mal pour authentifier leurs services Web, mais les laissent ensuite vulnérables au reniflage de réseau.

+0

Et dans une large mesure, si vous utilisez HTTPS, beaucoup de machines dans OAuth sont inutiles. Mais OAuth a été conçu pour donner certaines protections au trafic sur les canaux non cryptés. – keturn

Questions connexes