Oauth et open id connect (oidc)
-
Upload
pascal-flamand -
Category
Technology
-
view
202 -
download
4
Transcript of Oauth et open id connect (oidc)
![Page 1: Oauth et open id connect (oidc)](https://reader035.fdocuments.fr/reader035/viewer/2022080216/55c4ae98bb61eb7e118b457c/html5/thumbnails/1.jpg)
OAUTH et OpenID Connect (OIDC) Cas d'usages
18 Mai 2015Cyril GrosjeanCTO JANUA
![Page 2: Oauth et open id connect (oidc)](https://reader035.fdocuments.fr/reader035/viewer/2022080216/55c4ae98bb61eb7e118b457c/html5/thumbnails/2.jpg)
Généralités sur OAUTH 2 et OIDC● Permettre à une application cliente (Web, mobile,..) d'accéder à des
ressources appartenant à un utilisateur et détenues sur un serveur tiers, en demandant éventuellement le consentement de l'utilisateur, mais sans que celui-ci ait à nécessairement à donner à l'application cliente son mot de passe
● Permettre la révocation d'une application cliente (et des jetons déjà émis)
● Très récents : (OAuth v1: 2010, v2: 2012, OIDC: 2014)...
● … mais adoption rapide (mobilité, objets connectés, réseaux sociaux ...)
● Focus sur la facilité de déploiement et d'intégration, la mobilité ..
● .. et la sécurité : HTTPS, signature et/ou chiffrement (JWT), permissions (scope), anti-rejeu de jeton, révocation d'un client, d'un jeton, authentification du client, consentement de l'utilisateur, flux ne passant pas forcément par le navigateur, client publique/privé
![Page 3: Oauth et open id connect (oidc)](https://reader035.fdocuments.fr/reader035/viewer/2022080216/55c4ae98bb61eb7e118b457c/html5/thumbnails/3.jpg)
OAUTH 2 : jeton de rafraichissement
![Page 4: Oauth et open id connect (oidc)](https://reader035.fdocuments.fr/reader035/viewer/2022080216/55c4ae98bb61eb7e118b457c/html5/thumbnails/4.jpg)
OAUTH 2 : principe général accès à une ressource protégée
![Page 5: Oauth et open id connect (oidc)](https://reader035.fdocuments.fr/reader035/viewer/2022080216/55c4ae98bb61eb7e118b457c/html5/thumbnails/5.jpg)
OAUTH 2 : jeton de rafraichissement
![Page 6: Oauth et open id connect (oidc)](https://reader035.fdocuments.fr/reader035/viewer/2022080216/55c4ae98bb61eb7e118b457c/html5/thumbnails/6.jpg)
OAUTH 2 : exemples de requêtes
Autorisation par code
Autorisation par assertion SAML
![Page 7: Oauth et open id connect (oidc)](https://reader035.fdocuments.fr/reader035/viewer/2022080216/55c4ae98bb61eb7e118b457c/html5/thumbnails/7.jpg)
OIDC : principe général
![Page 8: Oauth et open id connect (oidc)](https://reader035.fdocuments.fr/reader035/viewer/2022080216/55c4ae98bb61eb7e118b457c/html5/thumbnails/8.jpg)
Différences entre OAUTH 1 et 2
● OAUTH 1.0 obsolète
● OAUTH 2.0 généralisé avec des différences d'implémentations d'où l'émergence d'une offre commerciale visant à simplifier l'interaction avec différents types de serveur OAUTH 2 : OAuth.io
● Pas d'expiration / expiration des jetons (mais possibilité de les renouveler)
● Pas de notion de scope / apparition du scope (ce à quoi un jeton donne droit)
● Signature des requêtes (problèmes d'inter-opérabilités) / utilisation d'HTTPS à la place
● Pas de serveur d'autorisation / serveur d'autorisation externe
![Page 9: Oauth et open id connect (oidc)](https://reader035.fdocuments.fr/reader035/viewer/2022080216/55c4ae98bb61eb7e118b457c/html5/thumbnails/9.jpg)
Apports d'OIDC● En OIDC, le serveur cible (qui détient les ressources) est aussi celui qui délivre les jetons
● mode déconnecté: permet à une application de continuer à accéder àdes ressources d'une autre application alors que l'utilisateur s'est déconnecté
● nouveau flux (hybride) : compromis performances/sécurité (cf. diapo. suivante)
● nouveaux services (découverte, auto-enregistrement, session)
● un jeton en plus (id_token), qui plus est dans un format normalisé et sécurisé
● utilisation de JWT possible dans les requêtes, les réponses, ou à l'authentification du client: facilite le développement, augmente la sécurité
● possibilité de demander des champs (claims) particuliers plutôt que la totalité
● possibilité de distribuer les sources (distributed & aggregated claims)
● auto-génération de jeton
● authentification à l'initiative d'une application tierce
![Page 10: Oauth et open id connect (oidc)](https://reader035.fdocuments.fr/reader035/viewer/2022080216/55c4ae98bb61eb7e118b457c/html5/thumbnails/10.jpg)
Cas d'usages et cinématiques OAUTH 2 et OIDC
● Autorisation par code : mode le + sûr mais 2 requêtes
● Autorisation implicite : mode optimisé pour le mobile, si l'on privilégie les performances (une seule requête et pas de jeton de rafraichissement)
● Autorisation par code et flux hybride (OIDC): compromis entre performanceset sécurité pour le mobile (1 ou 2 requêtes, jeton de rafraichissement et authentification du client possibles)
● Autorisation par fourniture au client de l'identifiant/mot de passe de l'utilisateur : si modes précédents ne conviennent pas et que le clientest "sûr" (exemple : OS). OAUTH2 uniquement (pas de sens en OIDC)
● Autorisation par fourniture de l'identifiant/mot de passe de l'application: cas où le client OAUTH2 doit accéder à son propre compte (scénario sans utilisateur)
● Cinématique à l'initiative d'une application tierce : permet d'avoir différents sens de navigation
![Page 11: Oauth et open id connect (oidc)](https://reader035.fdocuments.fr/reader035/viewer/2022080216/55c4ae98bb61eb7e118b457c/html5/thumbnails/11.jpg)
Janua est une société de service et de consulting qui se propose de vous accompagner vers le monde de la gestion des identités, de la sécurité et des logiciels libres.
● ENL (Entreprise du Numérique Libre – SS2L) fondée en 2004 à Sophia
Antipolis (Alpes-Maritimes, région Paca)
● Nos domaines d’expertise : Gestion des Identités et Open Source.
● Nos prestations : audit, consulting, intégration, AMOA, MEP,
accompagnement, développement au forfait et support.
● Notre approche : les processus itératifs, les maquettes (POC) et l’utilisation de
méthodologies « agiles ».
http://www.janua.fr