En quoi consiste exactement OAuth (Open Authorization)?
OAuth permet de notifier à un fournisseur de ressources (par exemple Facebook) que le propriétaire de la ressource (par exemple vous) autorise un tiers (par exemple une application Facebook) à accéder à ses informations (par exemple la liste de vos amis).
Si vous le lisez clairement, je comprendrais votre confusion. Alors allons-y avec un exemple concret: rejoindre un autre réseau social!
Supposons que vous ayez un compte GMail existant. Vous décidez de rejoindre LinkedIn. Ajouter tous vos nombreux amis manuellement est fastidieux et sujet aux erreurs. Vous pourriez en avoir marre à mi-chemin ou insérer des fautes de frappe dans leur adresse e-mail pour l'invitation. Vous pourriez donc être tenté de ne pas créer de compte après tout.
Face à cette situation, LinkedIn a la bonne idée (TM) d'écrire un programme qui ajoute automatiquement votre liste d'amis, car les ordinateurs sont beaucoup plus efficaces et efficaces pour les tâches fastidieuses et sujettes aux erreurs. Étant donné que rejoindre le réseau est maintenant si facile, il n'y a aucun moyen de refuser une telle offre, n'est-ce pas?
Sans une API pour échanger cette liste de contacts, vous devrez donner à LinkedIn le nom d'utilisateur et le mot de passe à votre compte GMail, leur donnant ainsi trop de pouvoir .
C'est là qu'intervient OAuth. Si votre GMail prend en charge le protocole OAuth, alors LinkedIn peut vous demander de les autoriser à accéder à votre liste de contacts GMail.
OAuth permet:
- Différents niveaux d'accès: lecture seule VS lecture-écriture. Cela vous permet d'accorder l'accès à votre liste d'utilisateurs ou un accès bidirectionnel pour synchroniser automatiquement vos nouveaux amis LinkedIn avec vos contacts GMail.
- Granularité d'accès: vous pouvez décider de n'accorder l'accès qu'à vos coordonnées (nom d'utilisateur, e-mail, date de naissance, etc.) ou à toute votre liste d'amis, calendrier et autres.
- Il vous permet de gérer l'accès à partir de l'application du fournisseur de ressources. Si l'application tierce ne fournit pas de mécanisme pour annuler l'accès, vous seriez coincé avec eux ayant accès à vos informations. Avec OAuth, il est possible de révoquer l'accès à tout moment.
Deviendra-t-elle de facto (standard?) Dans un avenir proche?
Eh bien, bien que OAuth soit un pas en avant significatif, il ne résout pas les problèmes si les gens ne l'utilisent pas correctement. Par exemple, si un fournisseur de ressources ne donne qu'un seul niveau d'accès en lecture-écriture à toutes vos ressources à la fois et ne fournit pas de mécanisme de gestion de l'accès, cela ne sert à rien. En d'autres termes, OAuth est un cadre pour fournir des fonctionnalités d'autorisation et pas seulement une authentification.
En pratique, il correspond très bien au modèle de réseau social. Il est particulièrement populaire pour les réseaux sociaux qui souhaitent autoriser les "plugins" tiers. Il s'agit d'un domaine où l'accès aux ressources est intrinsèquement nécessaire et également intrinsèquement peu fiable (c'est-à-dire que vous avez peu ou pas de contrôle de qualité sur ces applications).
Je n'ai pas vu tant d'autres utilisations à l'état sauvage. Je veux dire, je ne connais pas de cabinet de conseil financier en ligne qui accèdera automatiquement à vos relevés bancaires, bien qu'il puisse techniquement être utilisé de cette façon.