Accueil Sécurité Oauth 2.0 101

Oauth 2.0 101

Table des matières:

Anonim

De nombreuses voitures de luxe sont livrées avec une clé de voiturier. C'est une clé spéciale que vous donnez au préposé au stationnement et, contrairement à votre clé habituelle, ne permettra à la voiture de rouler que sur une courte distance tout en bloquant l'accès au coffre et au téléphone portable à bord. Quelles que soient les restrictions imposées par la clé de voiturier, l'idée est très intelligente. Vous donnez à quelqu'un un accès limité à votre voiture avec une clé spéciale, tout en utilisant une autre clé pour déverrouiller tout le reste. - Le guide officiel d'OAuth 1.0


C'est ainsi que les directives de spécification communautaire expliquaient OAuth en 2007. Et bien qu'OAuth 2.0 soit un tout nouveau protocole, la même description s'applique toujours - OAuth reste un moyen pour les utilisateurs d'accorder un accès tiers (et un accès limité) à leur ressources sans partager leurs mots de passe.


Si vous êtes régulièrement sur Internet, il est probable que vous ayez rencontré un site qui utilise OAuth. Après tout, les plus grands sites Web du monde, tels que Facebook, Google, MySpace, Twitter, Photobcuket, Yahoo, Evernote et Vimeo, utilisent cette norme d'authentification. Lisez la suite pour en savoir plus sur cette norme et pourquoi la prochaine génération, OAuth 2.0, est encore utilisée à titre expérimental.

Qu'est-ce que OAuth 2.0?

Tout d'abord, vous devez savoir ce que fait OAuth, en tant que protocole: il permet l'autorisation d'interface de programmation d'application entre deux applications Web ou de bureau. Par conséquent, les sites Web peuvent partager des ressources protégées avec d'autres sites Web et services.


Par exemple, si vous jouez à Scramble avec des amis sur votre iPad, vous pouvez entrer vos informations d'identification Facebook, permettant au jeu de parcourir votre liste d'amis pour voir lesquels jouent au jeu - et inviter d'autres personnes à se joindre à vous. Ou vous pouvez vous connecter avec des amis sur Google+ en fonction de qui vous suit sur Twitter. Ces types d'applications sont pratiques pour les utilisateurs, mais elles impliquent de donner à un site ou un programme l'accès aux informations vous concernant sur un autre site.


OAuth 2.0 fonctionne un peu comme la première incarnation d'OAuth, mais c'est une norme totalement nouvelle. Cela signifie qu'il n'est pas rétrocompatible avec OAuth 1.0. La version 2.0 a résolu de nombreux problèmes avec l'OAuth d'origine et apporté des améliorations.


Tout en conservant l'architecture de la première version, 2.0 a amélioré:

  • Authentification et signatures. OAuth 2.0 a facilité la mise en œuvre du protocole par quelqu'un du côté client.
  • Expérience utilisateur et autres moyens d'émettre des jetons
  • Performance, en particulier avec des sites Web et des services plus importants
Une explication plus complète des nouveautés d'OAuth 2.0 est fournie par Eran Hammer, qui faisait partie du groupe de travail OAuth. Vous pouvez y accéder ici. Cependant, notez que Hammer a quitté le groupe de travail en juillet 2012, invoquant des problèmes de sécurité lors de la mise en œuvre de la norme. En conséquence, bien qu'OAuth devait être finalisé fin 2010, il reste une norme proposée (au moment de la rédaction), bien qu'il fasse partie de l'API Graph de Facebook. Google et Microsoft expérimentent également la prise en charge d'OAuth 2.0 dans leurs API.

Les avantages d'utiliser OAuth 2.0

L'une des meilleures raisons d'utiliser OAuth est qu'elle facilite le partage. Nous sommes déjà habitués à télécharger des photos sur Instagram et à les publier automatiquement sur Twitter et Facebook. En fait, c'est ce genre de facilité d'utilisation et de croisement qui continue de rendre les médias sociaux si attrayants.


Mais ce n'est pas tout. Pour les utilisateurs finaux, OAuth signifie que vous n'avez pas à créer un autre profil. Par exemple, si vous souhaitez laisser un commentaire sur un article, vous pouvez utiliser vos informations d'identification Facebook ou Twitter pour le faire, au lieu d'avoir à vous inscrire à un compte sur un site Web donné. C'est idéal pour les sites sur lesquels vous n'êtes généralement pas actifs ou auxquels vous ne pouvez pas faire confiance. Il peut également bénéficier aux sites en garantissant que les utilisateurs ont une identité sur Facebook, ce qui rend le spam de commentaires moins probable.


OAuth signifie également moins de mots de passe à retenir. Il est recommandé d'avoir différents mots de passe pour différents services de site Web. Ainsi, au lieu de mémoriser un autre mot de passe pour, vous n'avez qu'à utiliser votre mot de passe Facebook pour accéder au service., soit dit en passant, ne verra pas votre mot de passe.


Vous pouvez également limiter les ressources accessibles via votre OAuth. Par exemple, lorsque vous jouez à un jeu sur Facebook, vous pouvez spécifier si vous souhaitez que le jeu soit publié sur votre mur en votre nom ou non.


Pour le développeur, OAuth 2.0 fournit un code déjà développé pour les authentifications, l'affichage des interactions sociales et l'affichage du profil utilisateur. Cela signifie moins de bogues pour les développeurs et un risque moindre car l'API a déjà été déboguée, testée et éprouvée. Enfin, vous bénéficiez également d'avoir moins de données à stocker sur vos propres serveurs.

Comment OAuth 2.0 est devenu

Il est bien évident qu'OAuth est une réponse à l'appel à l'informatique sécurisée et à la facilité d'utilisation des différents services Web. OAuth 2.0, d'autre part, est né de la nécessité de rendre OAuth moins complexe. Mais l'idée globale des deux est venue d'OpenID.


OpenID est un service qui a permis aux utilisateurs de se connecter à divers services en utilisant les informations de connexion d'un autre site Web. Mais OpenID était très limité, donc un groupe de personnes travaillant sur différents protocoles d'autorisation pour leurs propres sites se sont réunis. Les premières implémentations OAuth ont été effectuées en 2007 et la première révision est intervenue deux ans plus tard.


OAuth 2.0 est arrivé sur la scène en 2010. Son objectif était de se concentrer sur la simplicité client-développeur et d'être plus facilement évolutif tout en améliorant l'expérience utilisateur.

Défis à venir?

Bien que Google, Klout et d'autres grands noms mettent en œuvre OAuth 2.0, il peut encore y avoir une route difficile à parcourir pour ce protocole. Il existe des critiques au sein de la communauté OAuth 2.0, y compris des préoccupations concernant la sécurité du protocole (beaucoup pensent qu'il est moins sécurisé qu'OAuth 1.0).


Selon Hammer, s'il est utilisé par un programmeur compétent qui connaît bien la sécurité Web, OAuth 2.0 fonctionne. Malheureusement, seule une petite minorité de développeurs correspond à ce projet de loi.


De plus, les codes OAuth 2.0 ne sont pas réutilisables. Par exemple, les protocoles OAuth 2.0 utilisés par Facebook ne seraient pas facilement utilisables par d'autres sites. De plus, le nouveau protocole est en réalité beaucoup plus complexe que l'original.


Mais le vrai coup de pied pour beaucoup de gens est que OAuth 2.0 ne semble pas offrir un réel avantage ou une amélioration par rapport à 1.0. Hammer écrit que si vous implémentez avec succès 1.0, il n'y a aucune raison de passer à 2.0.


OAuth 2.0, cependant, est toujours bien vivant. S'il répond aux critiques et aux problèmes soulevés, il peut encore trouver sa place en tant que protocole très puissant. Au moment de la rédaction de ce document, cependant, la version 1.0 est toujours considérée comme la version officielle, stable et testée d'OAuth. Néanmoins, pour les développeurs qui visent à travailler avec de grands noms dans le monde en ligne, la mise en œuvre de ce protocole en toute sécurité peut devenir un ensemble de compétences clés dans un avenir pas trop lointain.

Oauth 2.0 101