Auth 2.0 : comment fonctionne ce protocole d'authentification et d'authorisation en parole simple ?
Beaucoup de developpeurs débutant ont deja entendu parlé de ce mot : Auth 2.0 et le plus souvent le confonde avec les json web token ( JWT) ou token en generale pourtant il s'agit de choses differentes bien que l'un utilisant l'autre.
Vous est il arrivé en tant que dev de vous poser la question : comment fonctionne l'autentication google, facebook ou Twitter? En fait beaucoup de site web de nos jours , vous proposent de vous autentifier/identifier dans leur site en utilisant google ou facebook , dans ce schema, google et facebook sont appellés des provider d'authentification/identification ainsi le site web en question n'a pas besoin de gerer une base de données des utilisateurs ainsi etre à l'abri des problemes de securité et il peut se fier de ses providers pour gerer non seulement ses resources internes mais aussi obtenir des provider des informations sur l'utilisateur en question. Google et facebook dans cette optique implemente ainsi le protocole Auth 2.0 et en quoi consiste t'il exactement?

Quand un utilisateur veut acceder à une resource qui lui appartient par le biais d'une autre application, il est redirigé vers la page de login du provider d'authentification pour faire le login, une fois le login effectué, le provider le fait voir une page d'authorisation ou il liste tout ce que l'application de provenance veut faire au nom de l'utilisateur, generalment beaucoup ne Lise meme pas cette page et authorise simplement LOL, auparavent, l'application ou mieux le site web de provenance de l'utilisateur est enregistré au pret du provider d'authentification et contient un code secret pour pouvoir dechiffrer le token que va lui delivrer le provider et qui contient les informations sur l'utilisateur, ce token peut etre un JWT ou simplement un bearer token, une fois que l'utilisateur authorise la app auprès du provider, le provider redirige l'utilisateur vers une page du site de provenance en donnant au site ce qu'on appelle un grant, avec ce Grant, le site refait une requete en backend aupres du provider pour obtenir un access token qui contient toutes les informations sur l'utilisateur et le site doit desormais utiliser ce token pour interagir avec les resources protegées du provider par exemple le profile de l'utilisateur afin d'obtenir assez d'info.. tout ce que je viens de décrire la est le fonctionnement classique du protocole Auth 2.0 dans sa version authorization code flow comme vous le voyez en image et Auth 2.0 est devenu le standard de facto pour authentifier les utilisateurs surtout à l'heure des app mobile car il permet de decentraliser l'authentification et ainsi le rendre scalable et surtout permettre le SSO ou mieux single sign on car les utilisateurs de nos jours ne veulent pas memoriser des milliers de mots de passe et login pour chaque application, il prefere avoir un seul login et l'utiliser partout.
Happy coding
LarrySig Guest
24.05.2024, 18:18
Post: Comment fonctionnent Internement les guichets automatiques ?
Orvilledop Guest
22.05.2024, 00:57
Post: Comment fonctionnent Internement les guichets automatiques ?
Orvilledop Guest
15.05.2024, 16:04
Post: Comment fonctionnent Internement les guichets automatiques ?
Franck Guest
14.05.2024, 19:34
Post: Comment deployer un site web statique sur github?