
Deux types d'authentifications !
Avec PHPReaction ERP, il est maintenant possible d’utiliser deux types d’authentification :
- L’authentification utilisateur via l’interface de connexion « Login ».
- L’authentification API pour les système serveur à serveur « Server2Server » donc utilisée seulement par les intégrateurs.
Malgré leur ressemblance elle sont très différente!
Authentification Utilisateur
« Authentification Utilisateur » est réservée aux utilisateurs physiques (personnes).
Lors d’une authentification réussie via l’interface « Login », vous recevrez 2 tokens JWT :
1. Access Token (Jeton d’Accès)
– Durée de vie : 15 à 60 minutes (éphémère)
– Objectif : AUTORISATION pour accéder aux ressources de l’API
– Utilisation : Envoyé dans l’en-tête Authorization de chaque requête
– Format : Bearer
2. Refresh Token (Jeton de Rafraîchissement)
– Durée de vie : Plusieurs jours/semaines (longue durée)
– Objectif : Obtenir un nouvel Access Token sans re-authentification
– Utilisation : Envoyé uniquement au endpoint /token avec le grant_type: refresh_token
– Sécurité : Stocké de manière sécurisée (httpOnly cookie, secure (seulement https), same-site strict ou lax)
Flux d’utilisation :
1. Authentification → Réception des 2 tokens
2. Autorisation → Utilisation de l’Access Token pour accéder aux ressources
3. Renouvellement → Utilisation du Refresh Token quand l’Access Token expire
Authentification API
L’authentification API est destinée aux systèmes serveur-à-serveur utilisant
des identifiants dédiés : un « Client ID » et une clé « Client Secret » via l’endpoint
/token (LoginCAS).
Lors d’une connexion API réussie, vous recevrez une (1) seule clé : l’« Access Token »
au format JWT.
Le JWT est un standard ouvert qui permet l’échange sécurisé de tokens.
Ce token temporaire permet l’autorisation sur les endpoints des ressources API.
Pour des raisons de sécurité (éviter les sessions persistantes côté serveur),
chaque nouvelle session devrait débuter par une NOUVELLE authentification,
générant ainsi un NOUVEAU « Access Token ».
Générer son « Access Token »
Pour générer un nouveau Access Token via la connexion LoginCAS, vous devez utiliser l’utilisateur « ClientId » avec une clé « ClientSecret » remis après une demande officielle.
Faire une requête HTTP POST en utilisant le Basic Auth sur l’URL suivant en remplacant « xxx » par votre entreprise (tenant) :
URL endpoint : https://xxx.login.solidservice.link/token
Exemple : https://demo.login.solidservice.link/token
Header
Authorization : Basic {clientid:clientsecret encodé en Base64}
Body (JSON)
{
"grant_type": "client_credentials"
}
Plus de détails sur le Basic Auth
Dans la réponse, vous recevrez directement le Access Token en format JWT pour votre utilisation immédiate!
Exemple de réponse:
{
"access_token": "..."
}Comment utiliser le JWT Token
Pour effectuer une requête aux API ressource avec un Access Token, vous devez simplement ajouter un Header « Authorization » de type Bearer Token à la requête et mettre comme valeur « Bearer {AccessToken} ».