OpenId, OAuth : authentification via un tiers

Jean-Marc Lecarpentier

 

OpenId, OAuth : authentification via un tiers

Points essentiels

  • OpenId : certification de l'identité
  • Oauth : autorisation d'accès à ses données
  • OpenId Connect = OpenId + Oauth
  • Implémentation dans le framework en cours de développement enn TP

Travail personnel

Connexion sur le site du mini-journal

En partant de l'architecture du site de mini-journal développé en M1, ajouter le possibilité de se connecter sur le site avec Google (ou autre).

Les indications ci-dessous sont valables pour l'utilisation des services de Google. Les principes seront similaires avec d'autres services tels que Facebook par exemple, mais quelques adaptations seront nécessaires. Pensez à interroger Stackoverflow.

Important : la bibliothèque PHP de Google utilise Guzzle pour gérer les connexions HTTP(S). Le serveur web des pages perso étant placé derrière un proxy, il est nécessaire de spécifier celui-ci pour que les connexions fonctionnent. Pour cela, Guzzle utilise les variables d'environnement, il suffit donc d'ajouter la ligne :
putenv('HTTPS_PROXY=https://proxy.unicaen.fr:3128');

Préliminaire : afin de pouvoir utiliser les services de Google, il faut créer un projet afin d'obtenir les clés qui seront ensuite intégrées dans le token JSON. Pour créer le projet, se rendre sur sa console Google : https://console.developers.google.com

Expérimentation

Pour commencer, créer simplement une page qui interroge Google pour obtenir votre email, nom et prénom. On utilisera la bibliothèque google-api-php-client pour réaliser les appels au services de Google.

Intégration dans le site du mini-journal

Intégrer dans le site des poèmes la possibilité de se connecter via Google. On considèrera que toute personne qui se connecte par ce moyen possède le statut de "redacteur".

Réfléchir à la façon dont le gestionnaire d'authentification peut être découplé de la méthode d'authentification. On pourra par exemple créer une classe par type de vérification, en commençant par le type login/mot de passe (le système qui existe déjà dans le site) puis en créant celui pour Google, puis etc.

 
Tim Berners Lee, créateur de HTTP et HTML. A l'origine du Web, il dirige maintenant le W3C C'est avec Mosaic, premier navigateur graphique que le web pris réellement son essor en 1993
 
Fermer