Seidor
mujer usando un portatil

08 mars 2023

Qu'est-ce qu'OAuth ? Que fournit son protocole ?

Un des aspects critiques de la sécurité informatique est de pouvoir fournir une expérience d'accès sans interruption et de connexion unique (SSO) entre plusieurs appareils. Grâce au développement constant de nouveaux outils, il est aujourd'hui possible d'accéder à des milliers de sites web complètement non liés en utilisant une connexion physique unique. Et dans ce domaine, OAuth est l'un des grands protagonistes.

Qu'est-ce que l'Open Authorization ?

Lorsque nous parlons de OAuth (Open Authorization), nous faisons référence à une solution de gestion des identités et des accès (IAM). Son objectif est d'accorder des autorisations aux utilisateurs. Il s'agit d'un protocole permettant de transférer l'autorisation d'un service à un autre sans partager les véritables informations d'identification de l'utilisateur, telles qu'un nom d'utilisateur et un mot de passe. Avec cet outil, un utilisateur peut se connecter à une plateforme et être ensuite autorisé à effectuer des actions et à voir des données sur une autre plateforme. En d'autres termes, il permet la connexion unique (SSO).

Bien qu'il soit vrai qu'OAuth est l'une des méthodes les plus couramment utilisées pour transférer l'autorisation d'un service de connexion unique à une autre application dans le cloud, il peut également servir à réaliser les mêmes fonctions entre applications.

D'où cela vient-il ?

Depuis quelque temps déjà, le secteur technologique a tenté de résoudre le dilemme de l'autorisation de la manière la plus efficace. Ainsi, en 2006, Blaine Cook, alors développeur principal chez Twitter, a essayé de trouver une solution lorsqu'il travaillait sur la mise en œuvre d'OpenID. Mais les résultats n'ont pas été satisfaisants, car OpenID n'a pas fourni la délégation d'accès à l'API. À ce moment-là, Cook a rejoint d'autres implémenteurs pour rédiger une proposition de protocole ouvert. Le résultat a été le développement de la norme OAuth. Le résultat a été publié par l'Internet Engineering Task Force (IETF) en 2010 (Version 1.0) et mis à jour en 2012 (Version 2.0).

Petit à petit, OAuth a commencé à gagner en popularité, au point qu'aujourd'hui, il peut fonctionner avec des plateformes aussi importantes que Amazon, Facebook, Instagram, LinkedIn, Microsoft, Netflix, Paypal, entre beaucoup d'autres.

Comment fonctionne Oauth ? Que vous apporte son jeton d'accès ?

La première étape consiste pour l'utilisateur à se connecter à un site web ou à un service (rappelons que OAuth ne fonctionne qu'avec HTTPS). Le processus d'autorisation OAuth commence par un utilisateur final (Propriétaire des ressources) qui spécifie qu'il souhaite fournir à une application cliente (Client) l'accès à des données dans une application tierce (Serveur de ressources). L'application cliente redirige cette demande vers un Serveur d'autorisation fourni par l'application tierce, qui authentifie l'utilisateur final demandeur. Le Serveur d'Autorisation autorise l'application cliente et le Propriétaire des ressources et redirige l'utilisateur vers l'application cliente avec un code d'accès à usage unique.

Le code d'accès à usage unique est renvoyé au serveur d'autorisation, qui le convertit ensuite en un jeton d'accès que l'utilisateur final peut utiliser pour accéder au serveur. En même temps, le serveur d'autorisation peut également renvoyer un jeton de rafraîchissement, ce qui permettra à l'utilisateur final d'utiliser le même OAuth pour accéder plusieurs fois.

Essentiellement, le jeton d'accès permet à un utilisateur d'appeler l'API. En retour, l'API obtient l'accès aux informations sur le client et le propriétaire de la ressource, ainsi que le chemin qu'ils ont emprunté, quel client ils utilisent et qui est l'utilisateur final.

En ce qui concerne OAuth, nous ne pouvons pas manquer de mentionner OKTA, un système de gestion des identités, qui facilite son implémentation dans nos applications et projets web. En effet, comme le souligne OKTA, ils ont pris la décision d'implémenter OAuth 2.0 pour étendre l'authentification, l'autorisation et la gestion des utilisateurs à leurs API, couvrant tous leurs écrans sur tous leurs appareils.

Qu'est-ce que OAuth 2.0 ?

OAuth 2.0, une version simplifiée et améliorée de l'OAuth original, est un protocole d'accès qui permet à un utilisateur d'autoriser une application ou un service à agir en son nom sans partager ses identifiants utilisateur.

Définir 4 rôles principaux : le propriétaire de la ressource, le serveur de ressources, le client et le serveur d'autorisation. Grâce à l'interaction entre ces rôles, OAuth 2.0 permet aux utilisateurs de contrôler l'accès à différentes ressources de manière sécurisée et autorisée.


Que fournit le protocole OAuth?

OAuth, en tant que solution de CIAM (Customer Identity and Access Management), peut être utilisé à la fois pour autoriser les utilisateurs et pour permettre l'accès partiel d'une application à une autre application. Un cas d'utilisation que les utilisateurs rencontrent souvent est de permettre à une application d'accéder à une plateforme de réseaux sociaux ou à un autre compte en ligne. Les comptes d'utilisateur de Google peuvent être intégrés à de nombreuses applications différentes pour les consommateurs, telles que des plateformes de blogs, des sites web d'actualités et divers jeux en ligne. Dans ces cas, le protocole OAuth est utilisé en coulisses pour permettre à ces applications externes d'accéder aux données nécessaires de Google.

Pour les entreprises, le cas d'utilisation le plus courant pour OAuth est en conjonction avec les systèmes de gestion d'identité et d'accès (IAM). Les utilisateurs peuvent être autorisés à utiliser l'application via OAuth. Par exemple, un employé peut se connecter au système SSO de son entreprise avec son nom d'utilisateur et son mot de passe. Ce système SSO leur donne accès à toutes les applications dont ils ont besoin pour faire leur travail, et le système SSO le fait en passant des jetons d'autorisation OAuth à ces applications.

Un protocole comme OAuth est nécessaire car il doit y avoir un moyen d'envoyer des informations d'autorisation entre les applications sans exposer les données de connexion de l'utilisateur.

Il faut tenir compte du fait que, bien que OAuth soit parfois confondu avec une méthode d'authentification, il ne s'agit pas d'un IDaaS et, par conséquent, il ne doit pas être utilisé pour authentifier des utilisateurs, comme cela peut être fait avec OKTA.

En conclusion

En résumé, nous avons affaire à un outil très flexible, facile à mettre en œuvre et qui, grâce à sa capacité à partager des données pour les utilisateurs sans avoir à divulguer des informations personnelles, offre une sécurité supplémentaire dans les processus d'authentification.

Peut-être que cela pourrait vous intéresser

03 avril 2023

Qu'est-ce que l'Internet des objets (IoT) ?

L'Internet des Objets – en anglais Internet of Things (d'où provient l'acronyme bien connu IoT) – est un terme de plus en plus présent dans notre vie quotidienne. Chaque jour qui passe, il est de plus en plus courant d'entendre parler de nouveaux dispositifs qui peuvent rendre notre vie à la maison et au travail beaucoup plus facile, grâce aux multiples possibilités que leurs applications nous offrent.

SEIDOR
16 janvier 2023

Qu'est-ce que Salesforce et à quoi sert-il ? Quelles sont les caractéristiques du CRM n°1 ?

Plus de 150 000 entreprises de toutes sortes et de toutes tailles travaillent avec la technologie Salesforce. Grâce à sa gamme de produits de plus en plus large, les chiffres montrent une tendance claire à la croissance.

SEIDOR
11 janvier 2023

Certifications Salesforce : Guide, Examens et Opportunités de Travail

Salesforce occupe la première place parmi les produits de gestion de la relation client (CRM). C'est sa polyvalence qui rend cet outil adapté à tout type d'entreprise, quelle que soit sa taille et le secteur auquel elle appartient.

SEIDOR