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 |
Warning : Le "realm" doit être passé en paramètre GET et pas dans le body |
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]