Qu’est-ce qu’OAuth et à quoi sert cette technologie ?
De plus en plus de sites Web, forums, blogs, magasins, etc. Ils nous demandent de nous inscrire en remplissant toutes nos données encore et encore pour chaque site Web. Grâce à l’ Open Authorization (OAuth), nous pouvons oublier d’avoir à nous inscrire encore et encore dans chacun des services que nous utilisons, car, avec une seule inscription, nous pourrions très facilement nous connecter à différents sites Web, sans avoir à partager toute notre identité numérique . Aujourd’hui, dans RedesZone, nous allons expliquer le fonctionnement de cette technologie.
Comment OAuth est né
OAuth est né à la suite du développement d’Open ID pour Twitter, lorsque son développeur Blaine Cook a reçu une demande spéciale pour voir si, avec Open ID, il pouvait autoriser les widgets du tableau de bord à accéder à ses services. Après avoir rencontré Blaine Cook, Chris Messina et Larry Halff, ils se sont rendu compte qu’il n’existait pas de standard de logiciel libre pour déléguer l’accès aux différentes API.
En 2007, le groupe de discussion pour ce que nous connaissons comme OAuth devrait être formé a été formé. Sa fonction à l’époque n’était autre que de rédiger un brouillon avec toutes les idées et propositions pour créer un protocole libre et ouvert, c’est-à-dire un logiciel libre afin que toute entreprise et tout utilisateur puisse l’intégrer dans leurs sites Web ou services en ligne. Plus tard, DeWitt Clinton, un employé de Google, a appris la création de ce groupe et a décidé de soutenir le projet. Le brouillon a finalement été terminé en juillet 2007 après seulement quatre mois et en octobre 2007, le brouillon d’Oauth Core 1.0 est sorti, créant définitivement un grand changement dans l’accès aux services.
Cadeau
OAuth est une norme ouverte qui permet une autorisation sécurisée via l’utilisation d’une API. Il est actuellement utilisé depuis octobre 2012, dans sa version OAuth 2.0 où ses principales améliorations sont qu’il fournit désormais des flux d’autorisation pour les applications Web, les applications de bureau, les téléphones mobiles. Actuellement, des services comme Google, Facebook, Azure Active Directory, Github ne prennent en charge que le protocole OAuth 2.0.
Comment fonctionne OAuth 2.0
Rappelons qu’OAuth 2.0 est vraiment un framework d’autorisation, qui permet aux applications d’obtenir un accès limité aux comptes utilisateurs de certains services tels que Facebook, Google, Twitter et GitHub. Son fonctionnement consiste essentiellement à déléguer l’autorisation d’authentification de l’utilisateur au service qui gère ces comptes, afin que ce soit le service lui-même qui donne accès aux applications tierces. Dans le protocole OAuth, les rôles suivants pourraient être définis afin que vous le compreniez mieux.
Client
Ce serait l’application qui souhaite accéder au compte d’utilisateur d’un certain service, tel que Facebook, Twitter, Google, etc.
Utilisateur
L’utilisateur est celui qui autorise l’application à accéder à son compte, via une fenêtre pop-up qui demande l’autorisation, et comprend généralement des informations sur les données qui seront partagées avec le nouveau service.
Serveur
Le serveur d’autorisation reçoit des demandes d’accès d’applications qui souhaitent utiliser le login de certains services tels que Facebook, Twitter ou Google, par exemple, pour se connecter à une page Web, un jeu, etc. Ce serveur est chargé de vérifier l’identité de l’utilisateur et du service qui demande l’accès, autorise ou refuse l’accès.
Voyons ensemble : la première chose qui se passe est que l’application demande l’autorisation d’accéder aux données de l’utilisateur via l’utilisation de l’un des services qui le permettent. Ensuite, si l’utilisateur autorise cette requête, l’application reçoit une autorisation d’accès qu’elle doit valider correctement auprès du serveur et si oui, elle émet un jeton pour l’application demandant l’accès afin qu’elle puisse accéder. Dans le cas où, à n’importe quelle étape, l’utilisateur refuse l’accès ou le serveur détecte une erreur, l’application ne pourra pas y accéder et affichera un message d’erreur.
Sans aucun doute, ce framework OAuth 2.0 est un grand avantage en termes de facilité d’accès aux services pour l’utilisateur, mais surtout pour toutes ces pages Web et jeux qui facilitent l’accès à leurs utilisateurs et gagnent plus de clients. Nous vous recommandons de visiter le site officiel OAuth 2.0 où vous trouverez tous les détails techniques de ce framework, et comment l’implémenter sur vos pages web pour faciliter vos utilisateurs en début de session.