Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
@Xebiconfr #Xebicon18
@dambaron
@jpinsolle
Build the future
Sécuriser son API avec OpenID Connect
Damien Baron & Jérémy Pi...
@Xebiconfr #Xebicon18
@dambaron
@jpinsolle
Qui sommes-nous ?
Damien Baron
Développeur Back / Cloud
Jérémy Pinsolle
Dévelop...
@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 ...
@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 =...
@Xebiconfr #Xebicon18
@dambaron
@jpinsolle
9
@Xebiconfr #Xebicon18
@dambaron
@jpinsolle
10
@Xebiconfr #Xebicon18
@dambaron
@jpinsolle
Et en pratique ?
11
Authentification = Access token
Identification = Identity t...
@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
Faceb...
@Xebiconfr #Xebicon18
@dambaron
@jpinsolle
Démonstration
14
@Xebiconfr #Xebicon18
@dambaron
@jpinsolle
Démonstration
15
access_token
id_token
access_token
id_token
check
token
signat...
@Xebiconfr #Xebicon18
@dambaron
@jpinsolle
Et s’il ne fallait retenir qu’une chose ?
16
(Identification, Authentification)...
@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
● ...
Upcoming SlideShare
Loading in …5
×

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

46 views

Published on

Nous entrons progressivement dans l’ère du temps réel et toutes les technologies nécessaires sont désormais à portée de mains, mais comment s’y prendre ? Quelles technologies choisir ? Nous allons vous montrer aujourd’hui comment créer facilement une application temps-réel qui scale ! Notre Stack ? Kubernetes, Google Container Engine, React, Redux et RethinkDB.

Par Jérémy P. et Damien Baron, consultants chez Xebia

Toutes les informations sur xebicon.fr

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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

  1. 1. @Xebiconfr #Xebicon18 @dambaron @jpinsolle Build the future Sécuriser son API avec OpenID Connect Damien Baron & Jérémy Pinsolle Xebia
  2. 2. @Xebiconfr #Xebicon18 @dambaron @jpinsolle Qui sommes-nous ? Damien Baron Développeur Back / Cloud Jérémy Pinsolle Développeur Back / Cloud @dambaron @jpinsolle
  3. 3. @Xebiconfr #Xebicon18 @dambaron @jpinsolle Quelques minutes de théorie sur OpenID Connect 3
  4. 4. @Xebiconfr #Xebicon18 @dambaron @jpinsolle Un but simple 4 Identifier la personne derrière le navigateur ou l’application connectée à mon service
  5. 5. @Xebiconfr #Xebicon18 @dambaron @jpinsolle Une nouvelle norme ? 5 OAuth2 est juste une boîte à outils conceptuelle
  6. 6. @Xebiconfr #Xebicon18 @dambaron @jpinsolle OpenID Connect remplace OAuth2 ? 6 Regrouper, préciser et compléter OAuth2
  7. 7. @Xebiconfr #Xebicon18 @dambaron @jpinsolle 7
  8. 8. @Xebiconfr #Xebicon18 @dambaron @jpinsolle Mais la VRAIE différence avec OAuth2 alors ? 8 OAuth2 = Authentification OIDC = Authentification + Identification
  9. 9. @Xebiconfr #Xebicon18 @dambaron @jpinsolle 9
  10. 10. @Xebiconfr #Xebicon18 @dambaron @jpinsolle 10
  11. 11. @Xebiconfr #Xebicon18 @dambaron @jpinsolle Et en pratique ? 11 Authentification = Access token Identification = Identity token (JWT)
  12. 12. @Xebiconfr #Xebicon18 @dambaron @jpinsolle Des tokens JWT ? 12 JWT = <header>.<claims>.<signature>
  13. 13. @Xebiconfr #Xebicon18 @dambaron @jpinsolle Utiliser OpenID Connect 13 Microsoft Azure AD AWS Cognito Google Identity Facebook
  14. 14. @Xebiconfr #Xebicon18 @dambaron @jpinsolle Démonstration 14
  15. 15. @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)
  16. 16. @Xebiconfr #Xebicon18 @dambaron @jpinsolle Et s’il ne fallait retenir qu’une chose ? 16 (Identification, Authentification) + OAuth 2.0 = OpenID Connect
  17. 17. @Xebiconfr #Xebicon18 @dambaron @jpinsolle Des questions ? 17 https://github.com/jerep6/openid-connect
  18. 18. @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

×