Développeurs · OpenID Connect · OpenID4VP · ARF 3.0
Connexion avec le portefeuille européen pour votre site – guide développeur
Votre application garde sa connexion OpenID Connect habituelle. Le CodeB EUDI Gateway sur phone.codeb.io parle OpenID4VP, SD-JWT VC et ISO mdoc au portefeuille, vérifie la présentation et vous remet un id_token signé. Vous ajoutez un paramètre et une vérification.
- Toute bibliothèque OpenID Connect
- Un paramètre, une vérification
- Exemples testés pour sept plateformes
Fonctionnement
- Votre application redirige vers CodeB avec client_id, PKCE (S256), state, nonce et
acr_values=urn:codeb:acr:eudi-wallet. - CodeB ouvre la connexion par portefeuille : sur un téléphone, le portefeuille s’ouvre directement ; sur un ordinateur, la personne scanne un QR code avec le téléphone qui contient le portefeuille.
- Le portefeuille présente, CodeB vérifie via OpenID4VP : signature et chaîne de confiance de l’émetteur, liaison à l’appareil et statut de révocation.
- CodeB renvoie un code d’autorisation à votre URI de redirection.
- Votre serveur échange le code, valide l’id_token et vérifie le claim
acr. La personne est connectée.
Les deux règles
1. Demander le portefeuille : ajoutez acr_values=urn:codeb:acr:eudi-wallet à la requête d’autorisation.
2. Vérifier avant d’accorder l’accès : le claim acr de l’id_token validé doit valoir urn:codeb:acr:eudi-wallet ou urn:codeb:acr:eudi-wallet-linked. Une connexion par mot de passe a une autre valeur et doit être refusée.
Ce qu’il vous faut
Un client enregistré : CodeB enregistre vos URI de redirection et vous envoie un identifiant client et un secret (info@aloaha.com). Votre nom, votre finalité et votre politique de confidentialité figurent dans le certificat d’enregistrement affiché par le portefeuille.
Le document de découverte : https://phone.aloaha.com/.well-known/openid-configuration pour votre intégration réelle – points de terminaison d’autorisation, de jeton, UserInfo et JWKS, scopes, claims et valeurs acr pris en charge. Pour les tests et démos : phone.codeb.io.
Un composant côté serveur qui conserve le secret client (flux code d’autorisation avec PKCE).
Exemples testés et références
Applications d’exemple complètes pour ASP.NET Core 8, Visual Basic .NET, Node.js, Python, PHP, Java et Go, chacune testée contre un fournisseur qui reproduit les points de terminaison CodeB : guide d’intégration. Démarrage plus court : démarrage rapide. Visual Basic .NET : exemple.
Référence de l’API : API du portefeuille UE et la description OpenAPI.
Pas encore de back-end ? Le widget de connexion place un bouton « Se connecter avec un portefeuille UE » sur une page avec une seule balise script.
Plus que la connexion
Seulement l’âge : demander « plus de 18 ans » et rien d’autre – vérification de l’âge.
Carte d’identité électronique nationale : la même intégration avec acr_values=urn:codeb:acr:eidcard – connexion avec la clé d’authentification de la carte, lue en NFC par CodeB Wallet.
Tester tout portefeuille : l’autotest d’interopérabilité montre quelles exigences un portefeuille remplit. Essayez les parcours sur le playground.
Conçu pour suivre l’ARF 3.0, OpenID4VP 1.0 et HAIP 1.0 ; non certifié.
Questions de développeurs
Devons-nous implémenter OpenID4VP, SD-JWT VC ou ISO mdoc nous-mêmes ?
Non. La passerelle parle les protocoles du portefeuille et vérifie signatures, chaînes de confiance, liaison à l’appareil et révocation. Votre application voit une connexion OpenID Connect standard.
Quelle bibliothèque OpenID Connect pouvons-nous utiliser ?
Toute bibliothèque qui prend en charge le flux code d’autorisation avec PKCE et lit le document de découverte. Des exemples testés existent pour ASP.NET Core, Visual Basic .NET, Node.js, Python, PHP, Java et Go.
Comment savoir que la personne a vraiment utilisé le portefeuille ?
Par le claim acr de l’id_token validé : urn:codeb:acr:eudi-wallet ou urn:codeb:acr:eudi-wallet-linked. Refusez toute autre valeur pour les pages qui exigent le portefeuille.
Quelles données personnelles recevons-nous ?
Uniquement ce que vous demandez, ce que votre client est autorisé à recevoir et ce que la personne approuve dans le portefeuille – par exemple le nom ou la date de naissance.