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

POST /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"
        }
    ]
}