SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
@Xebiconfr #Xebicon18
@dambaron
@jpinsolle
Build the future
Sécuriser son API avec OpenID Connect
Damien Baron & Jérémy Pinsolle
Xebia
@Xebiconfr #Xebicon18
@dambaron
@jpinsolle
Qui sommes-nous ?
Damien Baron
Développeur Back / Cloud
Jérémy Pinsolle
Développeur Back / Cloud
@dambaron @jpinsolle
@Xebiconfr #Xebicon18
@dambaron
@jpinsolle
Quelques minutes de théorie sur OpenID Connect
3
@Xebiconfr #Xebicon18
@dambaron
@jpinsolle
Un but simple
4
Identifier la personne derrière le navigateur ou
l’application connectée à mon service
@Xebiconfr #Xebicon18
@dambaron
@jpinsolle
Une nouvelle norme ?
5
OAuth2 est juste une boîte à outils conceptuelle
@Xebiconfr #Xebicon18
@dambaron
@jpinsolle
OpenID Connect remplace OAuth2 ?
6
Regrouper, préciser et compléter OAuth2
@Xebiconfr #Xebicon18
@dambaron
@jpinsolle
7
@Xebiconfr #Xebicon18
@dambaron
@jpinsolle
Mais la VRAIE différence avec OAuth2 alors ?
8
OAuth2 = Authentification
OIDC = Authentification + Identification
@Xebiconfr #Xebicon18
@dambaron
@jpinsolle
9
@Xebiconfr #Xebicon18
@dambaron
@jpinsolle
10
@Xebiconfr #Xebicon18
@dambaron
@jpinsolle
Et en pratique ?
11
Authentification = Access token
Identification = Identity token (JWT)
@Xebiconfr #Xebicon18
@dambaron
@jpinsolle
Des tokens JWT ?
12
JWT = <header>.<claims>.<signature>
@Xebiconfr #Xebicon18
@dambaron
@jpinsolle
Utiliser OpenID Connect
13
Microsoft
Azure AD
AWS
Cognito
Google
Identity
Facebook
@Xebiconfr #Xebicon18
@dambaron
@jpinsolle
Démonstration
14
@Xebiconfr #Xebicon18
@dambaron
@jpinsolle
Démonstration
15
access_token
id_token
access_token
id_token
check
token
signature
Vérification du token côté
API
1. Vérifier que le token est
bien formé (Header / claims /
signature)
2. Vérifier la signature
3. Valider les claims
a. Token expiration <exp>
b. Token issuer : <iss>
c. Token audience <aud>
4. Vérifier les permissions
(scopes)
@Xebiconfr #Xebicon18
@dambaron
@jpinsolle
Et s’il ne fallait retenir qu’une chose ?
16
(Identification, Authentification) + OAuth 2.0
=
OpenID Connect
@Xebiconfr #Xebicon18
@dambaron
@jpinsolle
Des questions ?
17
https://github.com/jerep6/openid-connect
@Xebiconfr #Xebicon18
@dambaron
@jpinsolle
Crédits photo
18
● Dictionary / Focus
○ Photo par Romain Vignes via Unsplash
● Door light modern
○ Photo par Cherish DeAlba via Pixabay
● Business card
○ Photo par Tero Vesalainen via Pixabay
● Anonymous
○ Photo par Thomas Vanhaecht via Pexels
● Hacker hacking password with padlock and fingerprint
○ Photo par Mike Corbett via Flickr
● Windmill gears
○ Photo par Malcolm Lightbody via Unsplash
● Pile of question marks
○ Photo par Arek Socha via Pixabay

Contenu connexe

Similaire à XebiCon'18 - Sécuriser son API avec OpenID Connect

Devoxx France 2014 - Tests de performance en continu
Devoxx France 2014 - Tests de performance en continuDevoxx France 2014 - Tests de performance en continu
Devoxx France 2014 - Tests de performance en continu
Publicis Sapient Engineering
 
XebiCon'18 - Data Science Done Wrong
XebiCon'18 - Data Science Done WrongXebiCon'18 - Data Science Done Wrong
XebiCon'18 - Data Science Done Wrong
Publicis Sapient Engineering
 

Similaire à XebiCon'18 - Sécuriser son API avec OpenID Connect (16)

XebiCon'16 : Orange - Transformation DevOps, les conteneurs sont vos alliés !
XebiCon'16 : Orange - Transformation DevOps, les conteneurs sont vos alliés !XebiCon'16 : Orange - Transformation DevOps, les conteneurs sont vos alliés !
XebiCon'16 : Orange - Transformation DevOps, les conteneurs sont vos alliés !
 
Xebicon16 miriot
Xebicon16   miriotXebicon16   miriot
Xebicon16 miriot
 
XebiCon'16 : Air France KLM - Le Big Data au service de la relation client pe...
XebiCon'16 : Air France KLM - Le Big Data au service de la relation client pe...XebiCon'16 : Air France KLM - Le Big Data au service de la relation client pe...
XebiCon'16 : Air France KLM - Le Big Data au service de la relation client pe...
 
Hands on drone challenge - xebicon'18
Hands on  drone challenge - xebicon'18Hands on  drone challenge - xebicon'18
Hands on drone challenge - xebicon'18
 
Êtes-vous API dans votre organisation ?
Êtes-vous API dans votre organisation ?Êtes-vous API dans votre organisation ?
Êtes-vous API dans votre organisation ?
 
Introduction à l'IoT: du capteur à la donnée_Presentation Mix-IT2015
Introduction à l'IoT: du capteur à la donnée_Presentation Mix-IT2015Introduction à l'IoT: du capteur à la donnée_Presentation Mix-IT2015
Introduction à l'IoT: du capteur à la donnée_Presentation Mix-IT2015
 
DevFest 2019 - Retour sur 3 années à developper des bots !
DevFest 2019 - Retour sur 3 années à developper des bots !DevFest 2019 - Retour sur 3 années à developper des bots !
DevFest 2019 - Retour sur 3 années à developper des bots !
 
L’actualité High-Tech de la semaine : 4K, Github, Linkedin, Dropbox, Streamwe...
L’actualité High-Tech de la semaine : 4K, Github, Linkedin, Dropbox, Streamwe...L’actualité High-Tech de la semaine : 4K, Github, Linkedin, Dropbox, Streamwe...
L’actualité High-Tech de la semaine : 4K, Github, Linkedin, Dropbox, Streamwe...
 
Ionic, le framework mobile hybride carrément addictif - Devoxx France 2016
Ionic, le framework mobile hybride carrément addictif - Devoxx France 2016Ionic, le framework mobile hybride carrément addictif - Devoxx France 2016
Ionic, le framework mobile hybride carrément addictif - Devoxx France 2016
 
La Duck Conf : "Apache Spark : ai-je besoin d'autre chose ?"
La Duck Conf : "Apache Spark : ai-je besoin d'autre chose ?"La Duck Conf : "Apache Spark : ai-je besoin d'autre chose ?"
La Duck Conf : "Apache Spark : ai-je besoin d'autre chose ?"
 
XebiCon'16 : Xebia Labs : Les outils de déploiement sont morts avec les Conta...
XebiCon'16 : Xebia Labs : Les outils de déploiement sont morts avec les Conta...XebiCon'16 : Xebia Labs : Les outils de déploiement sont morts avec les Conta...
XebiCon'16 : Xebia Labs : Les outils de déploiement sont morts avec les Conta...
 
Typescript + Graphql = <3
Typescript + Graphql = <3Typescript + Graphql = <3
Typescript + Graphql = <3
 
Devoxx France 2014 - Tests de performance en continu
Devoxx France 2014 - Tests de performance en continuDevoxx France 2014 - Tests de performance en continu
Devoxx France 2014 - Tests de performance en continu
 
Actualités mobile - Juin 2014
Actualités mobile - Juin 2014Actualités mobile - Juin 2014
Actualités mobile - Juin 2014
 
XebiCon'18 - Data Science Done Wrong
XebiCon'18 - Data Science Done WrongXebiCon'18 - Data Science Done Wrong
XebiCon'18 - Data Science Done Wrong
 
Matinale DevSecOps League : Sortez la sécurité de l'obscurantisme
Matinale DevSecOps League : Sortez la sécurité de l'obscurantismeMatinale DevSecOps League : Sortez la sécurité de l'obscurantisme
Matinale DevSecOps League : Sortez la sécurité de l'obscurantisme
 

Plus de Publicis Sapient Engineering

Plus de Publicis Sapient Engineering (20)

XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humainXebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
 
Xebicon'18 - IoT: From Edge to Cloud
Xebicon'18 - IoT: From Edge to CloudXebicon'18 - IoT: From Edge to Cloud
Xebicon'18 - IoT: From Edge to Cloud
 
XebiCon'18 - Modern Infrastructure
XebiCon'18 - Modern InfrastructureXebiCon'18 - Modern Infrastructure
XebiCon'18 - Modern Infrastructure
 
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
 
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
 
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
 
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribuéXebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
 
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
 
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des datavizXebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
 
XebiCon'18 - Le développeur dans la Pop Culture
XebiCon'18 - Le développeur dans la Pop Culture XebiCon'18 - Le développeur dans la Pop Culture
XebiCon'18 - Le développeur dans la Pop Culture
 
XebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilitéXebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilité
 
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
 
XebiCon'18 - Spark NLP, un an après
XebiCon'18 - Spark NLP, un an aprèsXebiCon'18 - Spark NLP, un an après
XebiCon'18 - Spark NLP, un an après
 
XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018
 
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
 
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
 
XebiCon'18 - La guerre des Frameworks n'aura pas lieu
XebiCon'18 - La guerre des Frameworks n'aura pas lieuXebiCon'18 - La guerre des Frameworks n'aura pas lieu
XebiCon'18 - La guerre des Frameworks n'aura pas lieu
 
XebiCon'18 - Orchestration : Conteneurs vs Musique
XebiCon'18 - Orchestration : Conteneurs vs MusiqueXebiCon'18 - Orchestration : Conteneurs vs Musique
XebiCon'18 - Orchestration : Conteneurs vs Musique
 
XebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams
XebiCon'18 - Passage à l'échelle de mes applications Kafka-StreamsXebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams
XebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams
 
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...
 

XebiCon'18 - Sécuriser son API avec OpenID Connect