SlideShare une entreprise Scribd logo
@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

PDF
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Publicis Sapient Engineering
 
PDF
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
Publicis Sapient Engineering
 
PDF
XebiCon'16 : NodeJS x Craftsmanship - Comment faire un projet dans les règles...
Publicis Sapient Engineering
 
PPTX
XebiCon'16 : Cellenza - Votre miroir interactif connecté avec Raspberry Pi 2,...
Publicis Sapient Engineering
 
PDF
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
Publicis Sapient Engineering
 
PDF
XebiCon'16 : Le futur de la télévision, les applications ! Par Fabien Mirault...
Publicis Sapient Engineering
 
PDF
XebiCon'16 : Parenting 2.0 : calmer son bébé avec du machine learning et un R...
Publicis Sapient Engineering
 
PDF
Présentation Oauth OpenID
Pascal Flamand
 
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Publicis Sapient Engineering
 
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
Publicis Sapient Engineering
 
XebiCon'16 : NodeJS x Craftsmanship - Comment faire un projet dans les règles...
Publicis Sapient Engineering
 
XebiCon'16 : Cellenza - Votre miroir interactif connecté avec Raspberry Pi 2,...
Publicis Sapient Engineering
 
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
Publicis Sapient Engineering
 
XebiCon'16 : Le futur de la télévision, les applications ! Par Fabien Mirault...
Publicis Sapient Engineering
 
XebiCon'16 : Parenting 2.0 : calmer son bébé avec du machine learning et un R...
Publicis Sapient Engineering
 
Présentation Oauth OpenID
Pascal Flamand
 

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

PPTX
Introduction oauth 2.0 et openid connect 1.0
Marc-André Tousignant
 
PDF
La Grande Famille OAuth 2.0
Guillaume Sauthier
 
PDF
Oauth2 & OpenID Connect
Pascal Flamand
 
PPTX
Paris Web 2015 - France Connect et OpenId Connect
François Petitit
 
PDF
Oauth2 et OpenID Connect
Pascal Flamand
 
PDF
OIDC jusque dans les applications mobiles
xavierguimard
 
PPTX
Delegation d'authentification
Sébastien Brault
 
PDF
Oauth et open id connect (oidc)
Pascal Flamand
 
Introduction oauth 2.0 et openid connect 1.0
Marc-André Tousignant
 
La Grande Famille OAuth 2.0
Guillaume Sauthier
 
Oauth2 & OpenID Connect
Pascal Flamand
 
Paris Web 2015 - France Connect et OpenId Connect
François Petitit
 
Oauth2 et OpenID Connect
Pascal Flamand
 
OIDC jusque dans les applications mobiles
xavierguimard
 
Delegation d'authentification
Sébastien Brault
 
Oauth et open id connect (oidc)
Pascal Flamand
 
Publicité

Plus de Publicis Sapient Engineering (20)

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

Dernier (7)

PDF
Circuit Breaker pattern avec Resilience4j
SOUFIANE MOUHTARAM
 
PDF
CHAPITRE1_Architecture du Serveur Oracle.pdf
houcemswissi1
 
PDF
Google Remote Procedure Call Web Service
SOUFIANE MOUHTARAM
 
PDF
Généralités sur balisage (Tagging) en git
SOUFIANE MOUHTARAM
 
PDF
Présentation UCOPIA et ses fonctionnalités
ZakariaRAHOUI2
 
PDF
CHAPITRE 5_Déplacement des données DBA.pdf
houcemswissi1
 
PDF
linkyfi presentation et ses fonctionnalité
ZakariaRAHOUI2
 
Circuit Breaker pattern avec Resilience4j
SOUFIANE MOUHTARAM
 
CHAPITRE1_Architecture du Serveur Oracle.pdf
houcemswissi1
 
Google Remote Procedure Call Web Service
SOUFIANE MOUHTARAM
 
Généralités sur balisage (Tagging) en git
SOUFIANE MOUHTARAM
 
Présentation UCOPIA et ses fonctionnalités
ZakariaRAHOUI2
 
CHAPITRE 5_Déplacement des données DBA.pdf
houcemswissi1
 
linkyfi presentation et ses fonctionnalité
ZakariaRAHOUI2
 

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