Objectifs:
Identifier l’utilisateur d’une application consiste à connaitre l’identité de la personne qui utilise une application depuis son navigateur, afin de:
Sur la plupart des sites, cette identification est matérialisée par trois opérations:
user sign-up
ou user registration
)user log-in
ou user sign-in
)Plusieurs plateformes tierces (dont Google et Facebook) fournissent aux développeurs d’applications des moyens de rendre plus rapide l’identification des utilisateurs. Ces moyens consistent à donner accès à l’identité d’un utilisateur une fois que celui-ci accepte de partager ces informations avec l’application.
Le mécanisme le plus répandu est OAuth. Il standardise les échanges nécessaires entre la plateforme tierce d’identification et une application, afin que cette dernière puisse accéder aux informations de l’utilisateur, voire à certaines fonctionnalités supplémentaires.
Dans ce cours, nous n’allons pas décrire le fonctionnement de OAuth, mais en récapituler les grandes lignes.
Voici ce qui est affiché à l’utilisateur, après qu’il ait cliqué sur un bouton “Se connecter avec Facebook” (en anglais: “Facebook Connect”) depuis une application web:
Cette page web est générée par Facebook pour demander à l’utilisateur s’il accepte de partager ses données d’identification avec l’application depuis laquelle il a cliqué sur le bouton.
Le plus souvent, ces données contiennent notamment le nom de l’utilisateur, son adresse email, et sa photo de profil. Parfois plus.
Ces données sont envoyées à l’application seulement si l’utilisateur accepte.
Du point de vue du développeur d’une application, l’identification des utilisateurs via une plateforme tierce se déroulle en six étapes:
APP_ID
, CLIENT_ID
ou API_KEY
.token
), une chaine de caractères que devra utiliser l’application pour communiquer désormais avec la plateforme. Par exemple: pour accéder aux informations personnelles de l’utilisateur.Dans la plupart des cas, le développeur d’application peut gagner beaucoup de temps en utilisant un bibliothèque (en anglais: library) ou un SDK (Software Development Kit) fourni par la plateforme.
Il existe de nombreux guides sur Internet comment utiliser ces outils, pour les applications Web et Mobile.
Dans notre cas, nous allons utiliser le SDK Google Platform Library depuis notre application Web JavaScript.
Nous allons développer:
Pour cela, cloner et compléter l’application suivante sur jsbin: https://jsbin.com/haxeqad/edit?html,js,output
Pour vous aider:
Note importante: la clé
CLIENT_ID
fournie dans le code ne fonctionne que depuis le sitejsbin.com
. Vous ne pourrez donc pas utiliser ce code pour identifier des utilisateurs depuis un autre domaine, ni depuis votre propre machine.
Maintenant que nous savons intégrer un bouton Google Signin à une application, nous allons créer notre propre clé CLIENT_ID
, de manière à ce que notre application puisse fonctionner depuis un autre domaine que jsbin.com
.
Pour cela, vous allez devoir déclarer votre propre application auprès de Google et configurer votre propre clé CLIENT_ID
.
Étapes proposées:
CLIENT_ID
fournie dans votre page, puis tester la connexion et déconnexion.Pour vous aider:
autres références: