Aller au contenu principal

Autorisation Machine-to-Machine

Authentifiez vos services backend ou scripts daemon sans interaction utilisateur.


Quand utiliser ce flux ?

Utilisez le Flux Client Credentials quand :

  • Vous avez un service backend (daemon, tâche cron, outil CLI)
  • Aucun utilisateur humain n'est présent pour se connecter
  • L'application accède à ses propres ressources, pas aux données d'un utilisateur spécifique

Note : Ce flux contourne l'écran de connexion. L'application s'authentifie directement en utilisant son client_id et client_secret.


Prérequis

  1. Créez un Client Confidentiel dans le tableau de bord SyAuth (sélectionnez « Machine-to-Machine » ou « Application Web Classique »).
  2. Assurez-vous d'avoir le client_id et le client_secret.
  3. Activez le type de grant client_credentials pour votre application (si applicable).

Étape 1 : Demander un Access Token

Faites une requête POST directement vers le point de token :

curl -X POST https://api.syauth.com/e/v1/oauth/token/ \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=VOTRE_CLIENT_ID" \
-d "client_secret=VOTRE_CLIENT_SECRET" \
-d "scope=openid"

Étape 2 : Utiliser le Token

La réponse contiendra un access_token (mais généralement pas de refresh_token, car vous pouvez simplement en demander un nouveau à tout moment en utilisant les identifiants client).

{
"access_token": "eyJhbG...",
"token_type": "Bearer",
"expires_in": 3600
}

Utilisez ce token pour appeler les APIs protégées :

curl https://api.syauth.com/e/v1/oauth/userinfo/ \
-H "Authorization: Bearer ACCESS_TOKEN"

Notes de Sécurité Importantes

  • ⚠️ N'EXPOSEZ JAMAIS votre client_secret dans le code frontend (React, Vue, applications mobiles). Ce flux est strictement réservé aux backends sécurisés.
  • Si votre client_secret est compromis, faites-en une rotation immédiatement dans le tableau de bord.