Etape 1 - Authentifier l'utilisateur

Ce point d'accès vous permet de faire authentifier un utilisateur auprès de Pôle Emploi Access Management à partir du bouton de connexion fourni par Pôle emploi.

L'utilisateur accède aux écrans suivants :

  • Ecran de connexion → l'utilisateur saisit ses identifiants Pôle emploi
  • Ecran de consentement → l'utilisateur autorise votre application à accéder à ses données personnelles (un scope par groupe de données)

Suite à l'authentification et au consentement de l'utilisateur, Pôle Emploi Access Management réalise une redirection vers le redirect_uri indiqué et votre application obtient en retour un authorization code.

 

Remarques :

  • Si vous souhaitez rediriger l'utilisateur vers la page qu'il consultait avant son authentification, vous devez enregister cette dernière dans la session de l'utilisateur ou dans un cookie.
  • Vous pouvez demander des scopes complémentaires au cours de la session de l'utilisateur. Pour cela, vous devez reprendre l'ensemble de la cinématique en ajoutant les nouveaux scopes. Pôle Emploi Access Management affichera la page de consentement complétée des nouveaux scopes demandés.

 

Description de la requête

Point d'accès :

Population d'utilisateurs URL Royaume
Demandeurs d'emploi et candidats GET https://authentification-candidat.pole-emploi.fr/connexion/oauth2/authorize /individu
Entreprises et recruteurs GET https://entreprise.pole-emploi.fr/connexion/oauth2/authorize /employeur

 

Détail des paramètres à valoriser :

Paramètre(s) Valeur
realm /individu ou /employeur
response_type code
client_id Votre identifiant client
scope Liste des scopes techniques et applicatifs correspondant aux API que vous souhaitez manipuler (séparés par des espaces et encodés au format URL)
redirect_uri URL de redirection définie dans les paramètres de votre application dans l'Emploi Store Développeurs (encodée au format URL)
state Hash unique d’un nombre aléatoire généré par votre application et stocké dans la session de l’utilisateur (paramètre anti-faille CSRF, se référer à la page Sécurité et vérification)
nonce Hash unique d’un nombre aléatoire généré par votre application et stocké dans la session de l’utilisateur (paramètre anti-faille CSRF, se référer à la page Sécurité et vérification)

 

Exemple d'appel :

GET /connexion/oauth2/authorize?realm=%2Findividu
  &response_type=code
  &client_id=[identifiant client]
  &scope=application_[identifiant client]%20api_peconnect-individuv1%20openid%20profile%20email
  &redirect_uri=[URL de redirection]
  &state=[state]
  &nonce=[nonce]

 

Description de la redirection

Paramètre(s) Valeur
code Valeur de l'authorization code généré
scope Liste des scopes techniques et applicatifs demandés
state Identique à celui fourni lors de l'appel

 

Afin de s'assurer de la provenance des échanges (anti-faille CSRF), votre application doit vérifier que le paramètre state reçu est identique à celui généré préalablement par votre application.

Consultez la page Sécurité et vérification pour plus d'informations.

 

Exemple de retour :

HTTP 302 Moved Permanently
[URI de redirection]?code=[valeur de l'authorization code généré]
  &scope=application_[identifiant client]%20api_peconnect-individuv1%20openid%20profile%20email
  &state=[state]

 

Cas d'erreurs possibles

Identifiant client erroné ou absent :

HTTP 302 Moved Permanently
[URL de redirection]?
    error=invalid_client
    &error_description=Client%20authentication%20failed
    &state=[state]

 

Scope inconnu ou scope pour lequel vous ne disposez pas des droits (utilisation d'une API sans souscription) :

HTTP 302 Moved Permanently
[URL de redirection]?
    error=invalid_scope
    &error_description=Unknown%2Finvalid%20scope%28s%29%3A%20%5Bapi_labonneboitev1%2C%20api_infotravailv1
    &state=[state]

 

Mauvaise cinématique OAuth :

HTTP 302 Moved Permanently
[URL de redirection]?
    error=unsupported_response_type
    &error_description=Unsupported%20response_type%20value
    &state=[state]

 

L'utilisateur annule sa demande d'authentification :

HTTP 302 Moved Permanently
[URL de redirection]?
    state=[state]

 

L'utilisateur ne valide pas les consentements liés aux scopes demandés :

HTTP 302 Moved Permanently
[URL de redirection]?
    error=access_denied
    &error_description=Resource%20Owner%20did%20not%20authorize%20the%20request
    &state=[state]