API - Authentification
API - Authentification
Cette page regroupe les étapes indispensables pour consommer l'API temps réel côté serveur : préparation de l'environnement, méthodes d'authentification et récupération des réglages des devices avant d'ouvrir des flux.
1. Préparer l'environnement
- Identifiez l'URL de base de l'API (
https://api.app.phyling.fr,http://192.168.1.42:5001, etc.). - Munissez-vous d'un client HTTP (curl, Postman, Insomnia…) et d'outils de développement capables de gérer Socket.IO lorsque vous passerez à la partie temps réel.
2. Authentification
2.1 Utilisation d'une clé API
Important : une clé API est liée à un utilisateur précis et effectue toutes les requêtes en son nom. Créez un utilisateur manager dédié si vous devez couvrir tous les devices d'un compte client.
- Activation : contactez Phyling contact@phyling.fr pour activer les clés API sur votre compte.
- Génération : connectez-vous sur
app.phyling.fr, ouvrez les paramètres avancés, puis la section Clés API et créez une nouvelle clé. - Utilisation : ajoutez l'en-tête suivant à vos requêtes REST.
Authorization: ApiKey <votre-clé>Exemple de récupération des réglages device :
GET /devices/rt/{client_id}/{device_number}/settings
Authorization: ApiKey abc123def456...Cette approche supprime la nécessité d'un login ou de gérer des tokens JWT.
2.2 Connexion via OAuth 2.0
Pour une application tierce, OAuth 2.0 permet de déléguer l'authentification sans exposer les identifiants utilisateur. Une application doit être créée côté Phyling (client_id, client_secret, URL de redirection). Contactez contact@phyling.fr pour activer la création d'applications OAuth.
- Rediriger l'utilisateur vers l'autorisation :
GET /oauth/authorize?client_id={client_id}&redirect_uri={redirect_uri}&state={state}Exemple :
https://api.app.phyling.fr/oauth/authorize?client_id=app_123&redirect_uri=https://monapp.com/callback&state=xyz789- Récupérer le code d'autorisation : après validation, l'utilisateur est renvoyé vers votre
redirect_uri.
https://monapp.com/callback?code=abc123def456&state=xyz789- Échanger le code contre des tokens :
POST /oauth/token
Content-Type: application/json
{
"client_id": "app_123",
"client_secret": "secret_456",
"grant_type": "authorization_code",
"code": "abc123def456",
"redirect_uri": "https://monapp.com/callback"
}Réponse type :
{
"access_token": "eyJhbGciOi...",
"refresh_token": "eyJhbGciOi...",
"token_type": "Bearer",
"user": {
"client_id": 1234,
"mail": "user@example.com",
"...": "..."
}
}- Renouveler via
refresh_token:
POST /oauth/token
Content-Type: application/json
{
"client_id": "app_123",
"client_secret": "secret_456",
"grant_type": "refresh_token",
"refresh_token": "eyJhbGciOi...",
"redirect_uri": "https://monapp.com/callback"
}Utilisez ensuite access_token dans l'en-tête Authorization: Bearer <token> pour toutes les routes REST et temps réel.