Authentification API
Guide complet pour s'authentifier à l'API FlayData Analytics.
Méthodes d'authentification
FlayData Analytics utilise Laravel Sanctum qui supporte deux méthodes :
1. Token API (recommandé pour les intégrations)
- Connectez-vous à FlayData Analytics
- Allez dans Paramètres > API Tokens
- Créez un nouveau token
- Copiez le token (affiché une seule fois)
- Utilisez-le dans l'en-tête
Authorization
Authorization: Bearer 1|abcdef123456789...
2. Cookie de session (recommandé pour les SPAs)
Pour les applications single-page (SPA) sur le même domaine, l'authentification par cookie est automatique.
Obtenir un token par login
POST /api/v1/login
Content-Type: application/json
{
"email": "utilisateur@exemple.com",
"password": "mot-de-passe-securise"
}
Réponse (200) :
{
"token": "1|abcdef123456789...",
"user": {
"id": 1,
"name": "Jean Dupont",
"email": "utilisateur@exemple.com"
}
}
Gérer les tokens
Créer un token (interface web)
- Allez dans Paramètres > API Tokens
- Cliquez sur "Créer un token"
- Donnez un nom descriptif (ex: "Intégration Zapier")
- Copiez le token immédiatement
Créer un token (via API)
POST /api/v1/tokens
Authorization: Bearer {token-existant}
{
"name": "Token pour mobile app"
}
Révoquer un token
DELETE /api/v1/tokens/{token-id}
Authorization: Bearer {token-existant}
Sécurité
- Ne partagez jamais vos tokens
- Stockez-les de manière sécurisée (variables d'environnement)
- Révoquez les tokens qui ne sont plus utilisés
- Utilisez HTTPS en production
Exemple avec cURL
curl -X GET https://votre-domaine.com/api/v1/workspaces \
-H "Authorization: Bearer 1|abcdef123456789..." \
-H "Accept: application/json"
Exemple avec JavaScript (fetch)
const token = '1|abcdef123456789...';
fetch('https://votre-domaine.com/api/v1/projects/1/submissions', {
headers: {
'Authorization': `Bearer ${token}`,
'Accept': 'application/json',
'Content-Type': 'application/json'
}
})
.then(r => r.json())
.then(d => console.log(d));
Exemple avec Python
import requests
headers = {
'Authorization': 'Bearer 1|abcdef123456789...',
'Accept': 'application/json'
}
response = requests.get(
'https://votre-domaine.com/api/v1/workspaces',
headers=headers
)
print(response.json())
Les tokens n'expirent pas par défaut. Pensez à les révoquer lorsqu'ils ne sont plus nécessaires.