OAUTH et OpenID Connect (OIDC)
Cas d'usages
18 Mai 2015
Cyril Grosjean
CTO JANUA
Généralités sur OAUTH 2 et OIDC
● Permettre à une application cliente (Web, mobile,..) d'accéder à des
ressources apparten...
OAUTH 2 : jeton de rafraichissement
OAUTH 2 : principe général accès à une ressource protégée
OAUTH 2 : jeton de rafraichissement
OAUTH 2 : exemples de requêtes
Autorisation par code
Autorisation par assertion SAML
OIDC : principe général
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'é...
Apports d'OIDC
● En OIDC, le serveur cible (qui détient les ressources) est aussi celui qui délivre les jetons
● mode déco...
Cas d'usages et cinématiques OAUTH 2 et OIDC
● Autorisation par code : mode le + sûr mais 2 requêtes
● Autorisation implic...
Janua est une société de service et de consulting qui se
propose de vous accompagner vers le monde de la gestion
des ident...
Prochain SlideShare
Chargement dans…5
×

Oauth et open id connect (oidc)

1 217 vues

Publié le

OAUTH et OpenID Connect (OIDC)
Cas d'usages

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

Aucun téléchargement
Vues
Nombre de vues
1 217
Sur SlideShare
0
Issues des intégrations
0
Intégrations
421
Actions
Partages
0
Téléchargements
7
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Oauth et open id connect (oidc)

  1. 1. OAUTH et OpenID Connect (OIDC) Cas d'usages 18 Mai 2015 Cyril Grosjean CTO JANUA
  2. 2. 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é
  3. 3. OAUTH 2 : jeton de rafraichissement
  4. 4. OAUTH 2 : principe général accès à une ressource protégée
  5. 5. OAUTH 2 : jeton de rafraichissement
  6. 6. OAUTH 2 : exemples de requêtes Autorisation par code Autorisation par assertion SAML
  7. 7. OIDC : principe général
  8. 8. 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
  9. 9. 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
  10. 10. 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 performances et 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 client est "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
  11. 11. 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

×