Table des matières

🇫🇷 Français | 🇬🇧 English


Exemples d’appels

Objectif

Présenter des exemples d’appels API courants pour intégrer L’Identité Numérique La Poste.

👉 Les exemples ci-dessous sont fournis à titre illustratif.


Authentification utilisateur (/authorize)

Redirection navigateur :

GET https://authent.pprod.lidentitenumerique.laposte.fr/auth/realms/partenaire/protocol/openid-connect/auth
?client_id=CLIENT_ID
&response_type=code
&redirect_uri=https://monservice.fr/callback
&scope=openid+profile+email
&state=abc123
&nonce=xyz456

Retour après authentification

https://monservice.fr/callback?code=AUTH_CODE&state=abc123

Échange du code (/token)

POST /auth/realms/partenaire/protocol/openid-connect/token
Content-Type: application/x-www-form-urlencoded

Body :

grant_type=authorization_code
code=AUTH_CODE
redirect_uri=https://monservice.fr/callback
client_id=CLIENT_ID
client_secret=CLIENT_SECRET

Réponse /token

{
  "access_token": "eyJ...",
  "id_token": "eyJ...",
  "expires_in": 3600,
  "token_type": "Bearer"
}

Récupération des données (/userinfo)

GET /auth/realms/partenaire/protocol/openid-connect/userinfo
Authorization: Bearer ACCESS_TOKEN

Réponse /userinfo

{
  "sub": "5577832670193",
  "given_name": "Jean Pierre",
  "family_name": "Dupont",
  "email": "jean.dupont@mail.com"
}

Vérification des certificats

GET /auth/realms/partenaire/protocol/openid-connect/certs

Configuration OpenID Connect

GET /auth/realms/partenaire/.well-known/openid-configuration

Exemple CURL /token

curl --request POST \
--url https://authent.pprod.lidentitenumerique.laposte.fr/auth/realms/partenaire/protocol/openid-connect/token \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data 'grant_type=authorization_code' \
--data 'code=AUTH_CODE' \
--data 'redirect_uri=https://monservice.fr/callback' \
--data 'client_id=CLIENT_ID' \
--data 'client_secret=CLIENT_SECRET'

Exemple CURL /userinfo

curl --request GET \
--url https://authent.pprod.lidentitenumerique.laposte.fr/auth/realms/partenaire/protocol/openid-connect/userinfo \
--header 'Authorization: Bearer ACCESS_TOKEN'

Bonnes pratiques

⚠️ Utiliser Sandbox pour les tests

⚠️ Ne jamais exposer `client_secret`

⚠️ Vérifier le `state` au retour

⚠️ Conserver le `id_token`


À retenir


Étape suivante

👉 Référence OpenAPI :

Swagger