Exemple de cinématique complète
Etape 1 - Authentifier l'utilisateur
Ce endpoint est appelé depuis la partie cliente de votre application.
Suite à la demande de connexion de l'utilisateur et avant l'appel, vous pouvez sauvegarder la page courante de l'utilisateur dans sa session ou dans un cookie.
Appel
GET /connexion/oauth2/authorize?
realm=%2Findividu
&response_type=code
&client_id=application_id
&scope=application_application_id%20api_authentificationindividuv1%20openid%20profile%20email
&redirect_uri=http%3A%2F%2Fwww.monapplication.fr%2Fretour
&state=31f7a65e315586ac198bd798b6629ce4903d0899476d5741a9f32e2e521b6a66
&nonce=d1c7c99c6e2e7b311f51dd9d19161a5832625fb21f35131fba6da62513f0c099
Host : authentification-candidat.pole-emploi.fr
Retour
HTTP/1.1 302 Moved Temporarily
Cache-Control: no-store
Pragma: no-cache
http://www.monapplication.fr/retour?
code=3617edfe-6110-4209-838b-4bfb04f7a2f4
&scope=application_application_id%20api_authentificationindividuv1%20openid%20profile%20email
&state=31f7a65e315586ac198bd798b6629ce4903d0899476d5741a9f32e2e521b6a66
Traitement
Au retour du endpoint, la page indiquée dans le paramètre redirect_uri
est affichée. Vous pouvez réaliser une redirection vers la page initiale de l'utilisateur sauvegardée préalablement dans sa session ou dans un cookie.
Vous devez valider la valeur du state
reçu en retour et transférer l'Authorization code
de votre application cliente vers votre serveur d'application.
Etape 2 - Générer un access token
Ce endpoint est appelé depuis la partie serveur de votre application.
Appel
POST /connexion/oauth2/access_token?realm=/individu
Host : authentification-candidat.pole-emploi.fr
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code
&client_id=application_id
&client_secret=application_secret
&code=3617edfe-6110-4209-838b-4bfb04f7a2f4
&redirect_uri=http%3A%2F%2Fwww.monapplication.fr%2Fretour
Retour
HTTP 200 OK
Content-Type: application/json;charset=UTF-8
Cache-Control: no-store
Pragma: no-cache
{
"scope": "application_application_id api_authentificationindividuv1 openid profile email",
"token_type": "Bearer",
"access_token": "8eb5020b-0b84-41f3-8174-6f7523805bf3",
"id_token": "eyAidHlwIjogIkpXVCIsICJhbGciOiAiSFMyNTYiIH0.eyAidG9rZW5OY
W1lIjogImlkX3Rva2VuIiwgImF6cCI6ICJlbXBsb2lzdG9yZS1lbXBsb3lldXItYWdlbnQ
iLCAic3ViIjogIjIxMjM3Nzc1MjEiLCAiYXRfaGFzaCI6ICJIOVFyVnYwcTl5QjRsdzV3Z
i1IUDdnIiwgImlzcyI6ICJodHRwczovL3NvMDE3LXBvYW0tYWphczc0My5zaWkyNC5wb2x
lLWVtcGxvaS5pbnRyYToxNzQzMC9jb25uZXhpb24vb2F1dGgyL2luZGl2aWR1IiwgIm9yZ
y5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5vcHMiOiAiZTA2MDQ2M2YtYzEzNi00N2M3LTg
1MmUtYmM0MDIxMTc0ZGRmIiwgImlhdCI6IDE0ODU4NjA5OTQsICJhdXRoX3RpbWUiOiAxN
Dg1ODU5MjI0LCAiZXhwIjogMTQ4NTg2NDU5NCwgInRva2VuVHlwZSI6ICJKV1RUb2tlbiI
sICJhdWRpdFRyYWNraW5nSWQiOiAiZWE5MTQ3NWQtZDRhZS00MDQxLWE4NjUtMjI1YjZiY
TEzYTdiLTc2NTgiLCAibm9uY2UiOiAiZDFjN2M5OWM2ZTJlN2IzMTFmNTFkZDlkMTkxNjF
hNTgzMjYyNWZiMjFmMzUxMzFmYmE2ZGE2MjUxM2YwYzA5OSIsICJyZWFsbSI6ICIvaW5ka
XZpZHUiLCAiYXVkIjogImVtcGxvaXN0b3JlLWVtcGxveWV1ci1hZ2VudCIsICJjX2hhc2g
iOiAidmlqdnZVLXJQcHpXUkdtMVRZbm1GZyIgfQ._a2BNpM7dLXlWZUe9oJnbvalpvrUjo
VFnznV2OvgoZc",
"refresh_token": "9b7ac95d-c09d-4a60-a1b6-2ee21a93c750",
"nonce": "d1c7c99c6e2e7b311f51dd9d19161a5832625fb21f35131fba6da62513f0c099"
}
Traitement
Vous devez valider la valeur du nonce
, l'Access token
et l'Id token
reçus en retour.
Etape 3 - Requêter une API
Ce endpoint est appelé depuis la partie serveur de votre application.
Appel
GET /partenaire/authentificationindividu/v1/me?realm=/individu
Host : api.emploi-store.fr
Authorization: Bearer 8eb5020b-0b84-41f3-8174-6f7523805bf3
Retour
HTTP 200 OK
Content-Type: application/json;charset=UTF-8
{
"sub": "749dd14f-c82a-48b1-b1bb-fffc5467e4d4",
"gender": "female",
"family_name": "NOM",
"given_name": "Prénom",
"email": "nom-prenom@mail.com"
}
Etape 4 - Déconnecter l'utilisateur
Ce endpoint est appelé depuis la partie cliente de votre application.
Appel
GET /compte/deconnexion?id_token_hint=eyAidHlwIjogIkpXVCIsICJhbGciOiAiSFMyNTYiIH0.eyAidG9rZW5OY
W1lIjogImlkX3Rva2VuIiwgImF6cCI6ICJlbXBsb2lzdG9yZS1lbXBsb3lldXItYWdlbnQ
iLCAic3ViIjogIjIxMjM3Nzc1MjEiLCAiYXRfaGFzaCI6ICJrRXVWTllIX0kzamJHbHo1S
HBGaVZBIiwgImlzcyI6ICJodHRwczovL3NvMDE3LXBvYW0tYWphczc0My5zaWkyNC5wb2x
lLWVtcGxvaS5pbnRyYToxNzQzMC9jb25uZXhpb24vb2F1dGgyL2luZGl2aWR1IiwgIm9yZ
y5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5vcHMiOiAiYTY2ZGU2MWYtY2NiZC00MmQ4LTh
hNDUtMzE1YTkwNjBkMWVlIiwgImlhdCI6IDE0ODU4Njg0MTUsICJhdXRoX3RpbWUiOiAxN
Dg1ODY4NDE1LCAiZXhwIjogMTQ4NTg3MjAxNSwgInRva2VuVHlwZSI6ICJKV1RUb2tlbiI
sICJhdWRpdFRyYWNraW5nSWQiOiAiZWE5MTQ3NWQtZDRhZS00MDQxLWE4NjUtMjI1YjZiY
TEzYTdiLTc5NTgiLCAicmVhbG0iOiAiL2luZGl2aWR1IiwgImF1ZCI6ICJlbXBsb2lzdG9
yZS1lbXBsb3lldXItYWdlbnQiIH0.IWx15eg_EgFM1_FmssTmlY3VegYtmCBLb636UCSE4
WE
&redirect_uri=http%3A%2F%2Fwww.monapplication.fr%2Fretour
Host : authentification-candidat.pole-emploi.fr
Retour
HTTP/1.1 302 Moved Temporarily
Cache-Control: no-store
Pragma: no-cache
http://www.monapplication.fr/retour
Récupérer le détail du jwk_uri
Ce endpoint est appelé depuis la partie serveur de votre application.
Appel
GET /connexion/oauth2/connect/jwk_uri?realm=/individu
Host : authentification-candidat.pole-emploi.fr
Retour
HTTP 200 OK
Content-Type: application/json;charset=UTF-8
{
"keys": [
{
"kty": "RSA",
"kid": "zhBofbZw+jkZZjXs28fGfzxZgM8=",
"use": "sig",
"alg": "RS256",
"n": "AKNbl89eP6B8kZATNSPe3-OZ3esLx31hjX-dakHtPwXCAaCKqJF
wjwKdxyRuPdsVG-8Dbk3PGhk26aJrSE93EpxeqmQqxNPMeD-N0_8pjkuV
YWwPIQ_ts2iTiWOVn7wzlE4ASfvupqOR5pjuYMWNo_pd4L7QNjUCKoAt9
H11HMyiP-6roo_EYgX4AH7OAhfUMncYsopWhkW_ze9z8wTXc8BAEgDmt8
zFCez1CtqJB_MlSBUGDgk8oHYDsHKmx05baBaOBQ8LRGP5SULSbRtu34e
LFootBIn0FvUZSnwTiSpbaHHRgWrMOVm07oSLWBuO3h_bj38zBuuqqVsA
K8YuyoE",
"e": "AQAB"
}
]
}