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)

  1. Connectez-vous à FlayData Analytics
  2. Allez dans Paramètres > API Tokens
  3. Créez un nouveau token
  4. Copiez le token (affiché une seule fois)
  5. 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)

  1. Allez dans Paramètres > API Tokens
  2. Cliquez sur "Créer un token"
  3. Donnez un nom descriptif (ex: "Intégration Zapier")
  4. 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.