Post on 21-Mar-2017
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 – @francoispetititfpetitit@octo.com
ParisWebJeudi 1 octobre 2015
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
3
L’Etat Plateforme
4
5
6
7
8
9
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
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
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
13
OAuth 2.0
Couche d’identité au-dessus
Auth = Authorization !
14
Séquence OpenIDConnect standard
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
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
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
18
Version 1.0 de OIDC Core finalisée fin 2014Déjà en production
Google depuis mai 2015Microsoft Azure…
La norme OpenIDConnect
19
Des spécifications en version final et draft
20
« JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties. »
JSON Web Tokens – JWT.IO
21
http://openid.net/certification/
Une certification et des librairies certifiées
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
23
Bientôt disponible ! http://blog.octo.com
Merci !
Pour aller plus loin :http://openid.net http://dev-franceconnect.fr