Je suis en train de travailler sur la construction d'une API RESTful pour l'une des applications que j'maintenir. Nous sommes actuellement à la recherche à la construction de diverses choses qui exigent plus de contrôle d'accès et la sécurité. Alors que des recherches sur la façon d'aller sur la sécurisation de l'API, j'ai trouvé quelques opinions différentes sur ce formulaire à utiliser. J'ai vu quelques ressources HTTP-Auth est le chemin à parcourir, tandis que d'autres préfèrent clés API, et même les autres (y compris les questions que j'ai trouvé ici sur DONC) ne jurent que par OAuth.
Alors, bien sûr, ceux qui préfèrent les, disons, clés API, dire que OAuth est conçu pour les applications d'accès pour le compte d'un utilisateur (comme je le comprends, tels que la signature dans une situation de non-Facebook site à l'aide de votre Facebook compte), et pas pour un utilisateur directement accéder à des ressources sur un site qu'ils ont spécifiquement signé pour (comme le Twitter officiel de la client qui accède aux serveurs Twitter). Toutefois, les recommandations pour OAuth semblent être de même pour le plus fondamental des besoins d'authentification.
Ma question, alors, est - en supposant que tout se fait via le protocole HTTPS, quelles sont les différences concrètes entre les trois? Quand doit-on être considéré comme sur les autres?