23
1 Tél : +33 (0)1 58 56 10 00 Fax : +33 (0)1 58 56 10 01 www.octo.com © OCTO 2015 50, avenue des Champs-Elysées 75008 Paris - FRANCE OpenID Connect Mise en œuvre sur le projet FranceConnect François Petitit – @francoispetitit [email protected] ParisWeb Jeudi 1 octobre 2015

Paris Web 2015 - France Connect et OpenId Connect

Embed Size (px)

Citation preview

Page 1: Paris Web 2015 - France Connect et OpenId Connect

1

Tél : +33 (0)1 58 56 10 00Fax : +33 (0)1 58 56 10 01www.octo.com© OCTO 2015

50, avenue des Champs-Elysées75008 Paris - FRANCE

OpenID ConnectMise en œuvre sur le projet FranceConnect

François Petitit – @[email protected]

ParisWebJeudi 1 octobre 2015

Page 2: Paris Web 2015 - France Connect et OpenId Connect

2

François PetititConsultant chez OCTO TechnologyTechnical leader du projet FranceConnect pour la DISIC depuis septembre 2014

Refcard « Tests sur tous les fronts », l’état de l’art des tests front-end

bientôt disponible sur http://blog.octo.com

Page 3: Paris Web 2015 - France Connect et OpenId Connect

3

L’Etat Plateforme

Page 4: Paris Web 2015 - France Connect et OpenId Connect

4

Page 5: Paris Web 2015 - France Connect et OpenId Connect

5

Page 6: Paris Web 2015 - France Connect et OpenId Connect

6

Page 7: Paris Web 2015 - France Connect et OpenId Connect

7

Page 8: Paris Web 2015 - France Connect et OpenId Connect

8

Page 9: Paris Web 2015 - France Connect et OpenId Connect

9

Page 10: Paris Web 2015 - France Connect et OpenId Connect

10

Cinématique de l’identification

Fournisseurs de services

Fournisseurs d’identités

FranceConnectDemande l’identité de la personne

Délègue l’authentification et récupère l’identité

1

2

Page 11: Paris Web 2015 - France Connect et OpenId Connect

11

Cinématique de la récupération des données complémentaires

Fournisseurs de services

Fournisseurs de données

FranceConnectDemande l’autorisation d’accès à des données

Demande les données complémentaires

Vérifie l’autorisation d’accès aux données

1

2

3

Page 12: Paris Web 2015 - France Connect et OpenId Connect

12

Mode 2 en 1

Fournisseurs de services

Fournisseurs d’identités

FranceConnectDemande l’identité de la personne et

l’autorisation d’accès à des données

Délègue l’authentification et récupère l’identité

1

2

Fournisseurs de donnéesDemande les données

complémentaires 3

Vérifie l’autorisation d’accès aux données

4

Page 13: Paris Web 2015 - France Connect et OpenId Connect

13

OAuth 2.0

Couche d’identité au-dessus

Auth = Authorization !

Page 14: Paris Web 2015 - France Connect et OpenId Connect

14

Séquence OpenIDConnect standard

Page 15: Paris Web 2015 - France Connect et OpenId Connect

15

FS FC

Client_id, redirect_uri, scope, …

Authorization Code, …

Access Token

Diagramme de séquence entre Fournisseur de Service et FranceConnect

Web Service JSON/HTTPS

Redirections 302 via le navigateur

/toke

n/a

utho

rizat

ion

User agent

Access Token

User infos (nom, prénom…)

/us

erin

fos

Authorization Code, Client_secret

Client_id, redirect_uri, scope, …

Authorization Code, …

Authentification de l’utilisateur

302

302

Page 16: Paris Web 2015 - France Connect et OpenId Connect

16

FranceConnect : rôles avec OpenID Connect + OAuth2

Fournisseurs de services

Fournisseurs d’identités

Fournisseurs de données

FranceConnect

OIDC Client

OIDC Client

OIDC Provider

OAuth2 Client

OIDC Provider

OAuth2 Provider

Page 17: Paris Web 2015 - France Connect et OpenId Connect

17

https://openid.net Créée en 2007 pour spécifier OpenIDOpenID décrété obsolète OpenIDConnect est désormais la seule normeCertification de librairies, de produits et d’outilsSoutenu par de nombreux acteurs majeurs :

OpenID Foundation

Page 18: Paris Web 2015 - France Connect et OpenId Connect

18

Version 1.0 de OIDC Core finalisée fin 2014Déjà en production

Google depuis mai 2015Microsoft Azure…

La norme OpenIDConnect

Page 19: Paris Web 2015 - France Connect et OpenId Connect

19

Des spécifications en version final et draft

Page 20: Paris Web 2015 - France Connect et OpenId Connect

20

« JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties. »

JSON Web Tokens – JWT.IO

Page 21: Paris Web 2015 - France Connect et OpenId Connect

21

http://openid.net/certification/

Une certification et des librairies certifiées

Page 22: Paris Web 2015 - France Connect et OpenId Connect

22

Protocole robuste et sécurisé, validé par l’ANSSI sous réserve de l’utilisation de champs de sécurité optionnels dans le protocole

Eco-système de qualité : documentation complète, nombreuses librairies, supporté par de + en + d’acteurs majeurs…

Vraiment simple à mettre en œuvre : en moyenne 1j de développement seulement pour brancher un nouveau client !

Pourrait être encore plus normatifCertains paramètres de sécurité sont optionnelsIl existe plusieurs variantes de chacune des séquences d’échanges

Retour d’expérience