Oauth 2.0

28 – 11 - 2013

Zid Sonia
Plan
Contexte

Social Login

Oauth 2.0

Exemple d'utilisation

Conclusion

Contexte


Une complexité croissante
La complexité est au cœur des systèmes
d'information (SI) d'aujourd'hui


Une décen...
Emergence du Social Login

Utiliser les services d'authentification des
réseaux sociaux
Social Login - C'est quoi ?
Social Login - Tendance
Social Login - Statistiques
Social Login – Pourquoi ?


Pour l'utilisateur
- Moins de login et mots de passe
- Meilleure gestion de nos identités
- M...
Social Login – Les standards
Autorisation
Délégation de l'autorisation

Oauth 2.0
Authentification SSO

SAML 2.0

OpenID

...
Social Login – Les standards
OpenID

SAML

Systéme d'autentification qui permet l'autentification unique
Ne gère pas les a...
Oauth 2.0 – Emergence
OAuth est un protocole qui permet l’accès à des
données de manière sécurisée et en fonction de ce
qu...
Oauth 2.0 – Emergence
Oauth 2.0 – Comment ça marche
Bonjour Blog, j'aimerai aussi que tu
Publies mes « posts » sur Facebook

Pas de probléme, do...
Oauth 2.0 – Comment ça marche
Tu m'excuses, mais j'ai moyennement
Confiance en toi Blog, tu ne peut pas
Faire autrement qu...
Oauth 2.0 - framework d'autorisation

Permettre à des applications et des fournisseurs de services
d'accéder à des données...
Oauth 2.0 – Les roles
Resource
Owner

Un internaute

Client

Utilise un blog

Authorization
Server

Resource
Server

En s'...
Oauth 2.0 - Le principe d'autorisation
2- S'authentifie et autorise l'application cliente

3- Délivre le token d'accés
1- ...
Oauth 2.0 - Le principe d'authentification

Moi

1- Blog me demande l'autorisation d'aller récupérer chez Facebook les don...
Exemple d'utilisation avec Google
API en PHP
L'utilisation de OAuth se décompose en plusieurs étapes:
On redirige l'utilis...
Rediriger l'utilisateur vers une page Google
demandant l'autorisation à celui-ci de fournir
des informations à notre site
...
Récupérer le code de validation envoyé
par Google et demander une clé
d'accès aux APIs Google
Comme précisé dans la requêt...
Récupérer le code de validation envoyé
par Google et demander une clé
d'accès aux APIs Google
$r = new HttpRequest('https:...
Exemple d'utilisation avec Google
API en PHP

Cet exemple permet uniquement d'avoir accès à
certaines informations provena...
Conclusion

Un protocole d'autorisation qui
authentifie
Merci pour votre attention
Références

http://fr.wikipedia.org/wiki/OAuth?veaction=edit
https://developers.google.com/appengine/docs/java/oauth/overv...
Prochain SlideShare
Chargement dans…5
×

LTO Auth

852 vues

Publié le

Présentation élaborée par Mlle. Ines dans le cadre des sessions de Lightning Talks à l'Orange Developer Center.

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
852
Sur SlideShare
0
Issues des intégrations
0
Intégrations
20
Actions
Partages
0
Téléchargements
28
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

LTO Auth

  1. 1. Oauth 2.0 28 – 11 - 2013 Zid Sonia
  2. 2. Plan Contexte  Social Login  Oauth 2.0  Exemple d'utilisation  Conclusion 
  3. 3. Contexte  Une complexité croissante La complexité est au cœur des systèmes d'information (SI) d'aujourd'hui  Une décentralisation nécessaire Une identité multiple
  4. 4. Emergence du Social Login Utiliser les services d'authentification des réseaux sociaux
  5. 5. Social Login - C'est quoi ?
  6. 6. Social Login - Tendance
  7. 7. Social Login - Statistiques
  8. 8. Social Login – Pourquoi ?  Pour l'utilisateur - Moins de login et mots de passe - Meilleure gestion de nos identités - Meilleure controle  Pour le fournisseur de service - Enregistrement assez simple - Information plus fiable - Plus d'information!
  9. 9. Social Login – Les standards Autorisation Délégation de l'autorisation Oauth 2.0 Authentification SSO SAML 2.0 OpenID Service d'identité
  10. 10. Social Login – Les standards OpenID SAML Systéme d'autentification qui permet l'autentification unique Ne gère pas les autorisations Accès à des informations trop confidentielles
  11. 11. Oauth 2.0 – Emergence OAuth est un protocole qui permet l’accès à des données de manière sécurisée et en fonction de ce que l’utilisateur souhaite autoriser d’accès. OAuth est né de la volonté d’offrir une solution simple et sécurisée aux mécanismes d’autorisation 3 parties. – D’une part le client qui représente l’application qui veut utiliser mes données, – D’autre part le serveur qui possède les données en question – L'utilisateur qui valide ou non l’accès à ses données.
  12. 12. Oauth 2.0 – Emergence
  13. 13. Oauth 2.0 – Comment ça marche Bonjour Blog, j'aimerai aussi que tu Publies mes « posts » sur Facebook Pas de probléme, donne moi ton login Et ton mot de passe Facebook, je m'y connecterai en ton nom pour mettre à jour ton profil
  14. 14. Oauth 2.0 – Comment ça marche Tu m'excuses, mais j'ai moyennement Confiance en toi Blog, tu ne peut pas Faire autrement que avoir mes Informations confidentielles
  15. 15. Oauth 2.0 - framework d'autorisation Permettre à des applications et des fournisseurs de services d'accéder à des données d'un utilisateur en lui demandant sa permission tout en protégeant le pseudonyme et le mot de passe des utilisateurs.
  16. 16. Oauth 2.0 – Les roles Resource Owner Un internaute Client Utilise un blog Authorization Server Resource Server En s'authentifiant via Facebook Et pour également publier mes Posts sur son profil
  17. 17. Oauth 2.0 - Le principe d'autorisation 2- S'authentifie et autorise l'application cliente 3- Délivre le token d'accés 1- Accéde au Service Client Authorization Server Délégue l'autorisation 4- Accéde à la ressource protégée Resource Server
  18. 18. Oauth 2.0 - Le principe d'authentification Moi 1- Blog me demande l'autorisation d'aller récupérer chez Facebook les données relatives à mon identité pour m'authentifier 2- Je m'authentifie chez Facebook et autorise Blog à lire mes données d'identité
  19. 19. Exemple d'utilisation avec Google API en PHP L'utilisation de OAuth se décompose en plusieurs étapes: On redirige l'utilisateur vers une page de Google demandant à l'utilisateur s'il accepte de fournir certaines de ses informations personnelles à notre site web. Google redirige l'utilisateur vers une page de retour, spécifiée dans la requête précédente avec un code de retour. Le site demande à Google une clé d'accès aux APIs Google avec le code de retour que celui-ci nous à retourné précédemment. Le site utilise la clé d'accès fournie par Google pour obtenir des informations en effectuant des requêtes vers l'API Google souhaitée.
  20. 20. Rediriger l'utilisateur vers une page Google demandant l'autorisation à celui-ci de fournir des informations à notre site //Dans une page du site, insérer un bouton pour rediriger vers Google <source lang="html5"> <button>Autoriser ce site à utiliser mes informations personnelles sur Google</button> </source> <br/> //Et définir une redirection vers la page de Google qui effectuera la demande d'autorisation: <br/><br/> <source lang="javascript"> $("button").click(function() { window.location = "https://accounts.google.com/o/oauth2/auth?" + "scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile&"+ "state=%2Fprofile&"+ "redirect_uri=http://localhost/oauth2callback.php&"+ "response_type=code&"+ "client_id=1049956440006.apps.googleusercontent.com";
  21. 21. Récupérer le code de validation envoyé par Google et demander une clé d'accès aux APIs Google Comme précisé dans la requête envoyée précédemment, Google renvoie vers la page de callback (ici http://localhost/oauth2callback.php) avec deux paramètres HTTP : le paramètre state fourni dans l'URL ainsi que le code de validation. Pour récupérer le code de validation, il suffit d'utiliser la variable $_GET['code'] L'étape suivante consiste à envoyer une autre requête HTTP vers une URL de Google pour demander à celui-ci de retourner une clé d'accès (Access Token) aux APIs Google.
  22. 22. Récupérer le code de validation envoyé par Google et demander une clé d'accès aux APIs Google $r = new HttpRequest('https://accounts.google.com/o/oauth2/token', HttpRequest::METH_POST); $fields = array( 'code'=> urlencode($codeGoogle), 'client_id'=>urlencode("1049956440006.apps.googleusercontent.com"), 'client_secret'=>urlencode("BpOaC4VbUZC7qgUqO8K4bF9D"), 'redirect_uri'=>"http://localhost/oauth2callback.php", 'grant_type'=>'authorization_code' ); $r->addPostFields($fields); try { $r->send(); $bodyresponse = $r->getResponseBody(); // Ici il suffit d'effectuer une requête sur une API Google avec la clé d'accès retournée dans la réponse JSON $bodyresponse } catch (HttpException $ex) { echo $ex; }
  23. 23. Exemple d'utilisation avec Google API en PHP Cet exemple permet uniquement d'avoir accès à certaines informations provenant de Google : l'adresse de courriel de l'utilisateur et les informations du profil (photo, nom, etc.). Pour ajouter, modifier ou supprimer des informations, il faut modifier la variable scope dans la première requête envoyée à Google.
  24. 24. Conclusion Un protocole d'autorisation qui authentifie
  25. 25. Merci pour votre attention
  26. 26. Références http://fr.wikipedia.org/wiki/OAuth?veaction=edit https://developers.google.com/appengine/docs/java/oauth/overview?hl=it https://developer.linkedin.com/documents/authentication http://developer.mixi.co.jp/appli/ns/mob/2-legged-oauth/ https://github.com/reddit/reddit/wiki/OAuth2 http://dev.viadeo.com/documentation/authentication/oauth-authentication/ https://dev.xing.com/docs/authentication http://www.slideshare.net/ASF-WS/asfws-2021-oauth-un-protocoledautorisation-qui-authentifie-par-maxime-feroulcolequiauthentifie

×