<[object Object]>

# Configurer Jobpass Connect

Créez une application Jobpass Connect pour permettre à vos utilisateurs de créer un compte rapidement sur votre application en y important toutes leurs informations professionnelles.

# Créer une application

Une application Jobpass Connect peut être une application native qui s'exécute sur un appareil mobile, une application Web d'une seule page qui s'exécute sur un navigateur ou une application Web standard qui s'exécute sur un serveur.

Lorsque vous créez une application dans les paramètres API de Jobpass , nous lui attribuons un ID client qui est une chaîne alphanumérique qui est l'identifiant unique de votre application. Vous utiliserez cet ID dans votre code d'application lorsque vous appellerez les API Jobpass. Vous ne pouvez pas modifier l'ID client.

Une autre information importante est le secret du client. Il doit rester confidentiel à tout moment. Si quelqu'un accède au secret client de votre application, il peut emprunter l'identité de votre application et accéder aux ressources protégées. Il est important que vous sélectionniez le bon type d'application pour nous aider à vérifier certains risques de sécurité.

  1. Rendez-vous dans votre l'espace d'administration de votre entreprise sur Jobpass

  2. Saisissez le nom de votre Application. Ce nom sera affiché sur les écrans de consentement de l'utilisateur

  3. Sélectionnez le type d'application :

    • Web : Application web traditionnelle utilisant des redirections. (exemple : Node.js Express, ASP.NET, Java, PHP)
    • SPA : Une application frontend JavaScript qui utilise une API. (exemple : React, Vue, Angular)
    • Native : Applications mobiles, de bureau, CLI et pour appareils intelligents fonctionnant en mode natif. (exemple : iOS, Electron, Apple TV apps)
    • Machine to Machine : CLIs, daemons ou services fonctionnant sur votre backend. (exemple : script shell)
  4. Renseignez les URI de callback autorisées. Après l'authentification de l'utilisateur, nous ne rappellerons que l'une de ces URL. Vous pouvez spécifier plusieurs URL valides en les séparant par des points-virgules (typiquement pour gérer des environnements différents comme QA ou testing). Veillez à spécifier le protocole (https://), sinon le rappel peut échouer dans certains cas. À l'exception des schémas d'URI personnalisés pour les clients natifs, tous les rappels doivent utiliser le protocole https://.

  5. Ajoutez une description de l'application en texte libre. Le nombre maximum de caractères est de 140. (facultatif)

Vous pouvez créer plusieurs types d'applications pour vos différentes plateformes (Web, Mobile, etc)

# Récupérez vos Client ID & Client Secret

Une fois votre application OIDC, récupérez vos clés CLIEND_ID & CLIENT_SECRET qui se trouvent au-dessus du nom de votre application OIDC pour les enregistrer dans votre fichier .env

# Implémenter Jobpass Connect

L'implémentation de Jobpass Connect revient à suivre le protocole OIDC (une surcouche du protocole OAuth2).

# 1. Initialiser l'authentification avec GET https://auth.jobpass.com/authorize

Il est possible de passer à cette requête pour un certain nombre de paramètres :

  • client_id: le client_id est généré sur l'espace de configuration de l'application OIDC
  • response_type: utilisez le "code" ou le "token" pour les flows côté client (single page app ou native app). Ce field peut aussi valoir id_token et renverra un id_token uniquement. Il est possible de combiner les response_type. Il faut nécessairement utilier le response_type=codepour pouvoir utiliser le workflow standard.
  • redirect_uri: l'URL de callback spécifiée sur l'espace de configuration de l'application OIDC de Jobpass
  • state : une valeur unique qui sera renvoyée à l'identique par Jobpass afin d'assurer qu'il n'y ait pas eu d'attaque par CSRF notamment.
  • scope : c'est à ce moment qu'il sera possible de demander les informations élémentaires du profile utilisateur, les scopes standards sont : openid email profile, le plus important ici est qu'ils soient séparés par des espaces. Mais aussi de demander un refresh_token (en ajoutant le scope offline_access).
  • audience: doit toujours être égale au domaine de l'API souhaitée, soit https://api.jobpass.com. Attention: un oubli de l'audience revient systématiquement à demander un token opaque qui ne sera utilisable qu'avec l'endpoint /userinfo. Attention, cette URL renvoie une redirection (code 302), il faut obligatoirement suivre la redirection afin de poursuivre le workflow.

# 2. Échanger le code contre un token (si response_type="code") en utilisant POST https://auth.jobpass.com/oauth/token

Avant de passer à la suite du workflow, il est recommandé de vérifier la valeur du paramètre de state renvoyée à l'URL de callback par Jobpass.

  • Authorization code flow (pas de refresh token valide à disposition) :

    Ces paramètres doivent être encodés dans le body de la requête, sous la forme d'application/x-www-form-urlencoded

    1. grant_type=authorization_code (spécifie le flow à utiliser)
    2. client_id
    3. client_secret
    4. code=<valeur retournée en query parameter à l'URL de callback>
    5. redirect_uri, qui doit avoir la même valeur que celle transmise à l'endpoint /authorize
  • Refresh token flow

    Ces paramètres doivent être encodés dans le body de la requête, sous forme d'application/x-www-form-urlencoded.

    1. grant_type=refresh_token
    2. client_secret
    3. client_secret : requis si l'application courante est en server-side. À l'inverse, il ne faut le renseigner en aucun cas
    4. refresh_token
    5. scope : optionnel. Si des scopes sont fournis, ils doivent correspondre à un sous-ensemble des scopes d'origine.

Dans les deux cas, le json retourné contient un access_token, un id_token, en plus d'autres informations permettant d'utiliser correctement l'access_token. Enfin, seule la requête avec grant_type=authorization_code renvoie un refresh_token.

# 3. Utiliser le token obtenu afin de requêter les informations basiques du profil depuis l'endpoint https://auth.jobpass.com/userinfo

Attention, ce token ne sert en aucun cas à utiliser l'API recruteur

# Requêter les informations de l'utilisateur avec le token obtenu

Une fois obtenu vous pouvez utiliser le token afin de requêter les informations basiques du profil depuis l'endpoint https://auth.jobpass.com/userinfo. Voici comment faire :

Assurez-vous de remplacer "votre_access_token" par le véritable access token que vous souhaitez utiliser pour authentifier la requête. Les exemples ci-dessus récupéreront les informations utilisateur au format JSON et les afficheront dans la sortie standard. Vous pouvez ensuite utiliser ces données JSON comme bon vous semble dans votre application.

# Valeurs retournées dans le userinfo

Lorsque vous effectuez une requête à l'URL https://auth.jobpass.com/userinfo en utilisant un access_token, vous recevrez une réponse au format JSON contenant diverses informations sur l'utilisateur. Voici une explication des valeurs de retour possibles :

# sub (Subject) :

  • Type : string
  • Description : Identifiant unique de l'utilisateur (uuid)

# name (Nom complet) :

  • Type : string
  • Description : Le nom complet de l'utilisateur

# given_name (Prénom) :

  • Type : string
  • Description : Prénom de l'utilisateur

# family_name (Nom de famille) :

  • Type : string
  • Description : Le nom de famille de l'utilisateur

# middle_name (2ème prénom) :

  • Type : string
  • Description : Deuxième prénom de l'utilisateur

# nickname (Pseudo) :

  • Type : string
  • Description : Le surnom ou le pseudo de l'utilisateur.

# profile (Profil) :

  • Type : string (URL)
  • Description : L'URL du profil de l'utilisateur.

# picture (Photo de profil) :

  • Type : string (URL)
  • Description : L'URL de la photo de profil de l'utilisateur

# website (site web personnel) :

  • Type : string (URL)
  • Description : L'URL du site web personnel de l'utilisateur

# email

  • Type : string
  • Description : L'adresse e-mail de l'utilisateur.

# email_verfied :

  • Type : Boolean
  • Description : Indique si l'email de l'utilisateur est vérifié

# gender (Genre) :

  • Type : string
  • Description : Le genre de l'utilisateur (par exemple, "male" ou "female").

# birthdate (Date de naissance) :

  • Type : date (format ISO 8601)
  • Description : La date de naissance de l'utilisateur au format AAAA-MM-JJ.

# zoneInfo (Fuseau horaire) :

  • Type : string
  • Description : le fuseau horaire de l'utilisateur

# locale (Langue et région) :

  • Type : string
  • Description : La langue et la région préférées de l'utilisateur (par exemple : "en-US", pour l'anglais aux États-Unis)

# phone_number (Numéro de téléphone) :

  • Type : string
  • Description : Le numéro de téléphone de l'utilisateur

# phone_number_verified (Numéro de téléphone vérifié) :

  • Type : Boolean
  • Description : Indique si le numéro de téléphone de l'utilisateur a été vérifié.

# address (Adresse) :

  • Type : JSON Object
  • Description : Les informations sur l'adresse de l'utilisateur, le cas échéant. L'objet peut contenir des champs tels que "country" (pays).

# updated_at (Date de mise à jour) :

  • Type : Timestamp UNIX
  • Description : La date de la dernière mise à jour des informations de l'utilisateur au format de timestamp Unix.

Ces valeurs de retour vous permettent d'accéder à diverses informations sur l'utilisateur à partir de l'API, ce qui peut être utile pour personnaliser l'expérience de l'utilisateur dans votre application.

# Exemple

{
  "sub": "248289761001",
  "name": "Jane Josephine Doe",
  "given_name": "Jane",
  "family_name": "Doe",
  "picture": "http://exampleco.com/janedoe/me.jpg",
  "email": "janedoe@exampleco.com",
  "email_verified": true,
  "gender": "female",
  "birthdate": "1972-03-31",
  "zoneinfo": "America/Los_Angeles",
  "locale": "en-US",
  "phone_number": "+1 (111) 222-3434",
  "address": {
    "country": "us"
  },
  "updated_at": "1556845729"
}

Une fois les informations de base de l'utilisateur récupérées, vous pouvez récupérer l'intégralité de ses informations professionnelles grâce à son sub en utilisant notre API

# Snippet HTML du bouton "Continuer avec Jobpass"

Copiez-collez les snippets HTML ci-dessous pour reproduire l'UI de Jobpass sur votre plateforme

# Bouton Jobpass foncé

Continuer avec


<a href="Votre_URL_DE_CALLBACK" style="background-color:#273648; color: #fff; padding: 10px 20px; border-radius:50px; max-width:250px; display:flex; text-decoration: none; justify-content:center; align-items:center ">Continuer avec <img src="https://images.ctfassets.net/nla4ils4bv6t/01MpLFfhVRnPnYteKTv4o5/22ed578b64b6f66f8e8477e046bed3e3/white-logo-jobpass.svg" width="70px" style="margin-left:5px;"></a>

# Bouton Jobpass clair

Continuer avec


<a href="Votre_URL_DE_CALLBACK" style="background-color:#f7f5f0; color: #fff; padding: 10px 20px; border-radius:50px; max-width:250px;display:flex; text-decoration: none; justify-content:center; align-items:center">Continuer avec <img src="https://images.ctfassets.net/nla4ils4bv6t/01MpLFfhVRnPnYteKTv4o5/22ed578b64b6f66f8e8477e046bed3e3/white-logo-jobpass.svg" width="70px" style="margin-left:5px;"></a>