Authentification
AstroAPI prend en charge plusieurs méthodes d'authentification selon votre cas d'utilisation.
Authentification par Clé API
Les clés API sont la méthode recommandée pour la communication serveur à serveur.
Obtenir une Clé API
- Connectez-vous au Tableau de Bord AstroAPI
- Naviguez vers Paramètres > Clés API
- Cliquez sur Créer une Clé API
- Configurez les permissions et les limites de débit
- Copiez la clé générée (elle ne sera plus affichée)
Utiliser les Clés API
Incluez votre clé API dans l'en-tête X-Api-Key :
curl -X GET "https://api.astroapi.cloud/api/calc/natal" \
-H "X-Api-Key: ak_live_xxxxxxxxxxxx"Permissions des Clés API
Les clés API peuvent être limitées à des permissions spécifiques :
| Permission | Description |
|---|---|
calc:read | Accès aux endpoints de calcul |
content:read | Accès aux endpoints de contenu/interprétation |
chart:read | Accès aux endpoints de rendu de thèmes |
modules:read | Accès aux modules achetés |
Rôles
AstroAPI utilise un contrôle d'accès basé sur les rôles au sein des organisations :
| Rôle | Description |
|---|---|
owner | Accès complet à toutes les fonctionnalités de l'organisation |
manager | Peut gérer les utilisateurs, la facturation et le contenu |
member | Accès de base aux calculs et à la lecture de contenu |
Permissions des Rôles
| Permission | owner | manager | member | Description |
|---|---|---|---|---|
org:create | ✅ | Créer une organisation | ||
org:read | ✅ | ✅ | ✅ | Lire une organisation |
org:update | ✅ | ✅ | Mettre à jour une organisation | |
org:users:read | ✅ | ✅ | Lire les utilisateurs | |
org:users:create | ✅ | ✅ | Inviter des utilisateurs | |
org:users:update | ✅ | ✅ | Mettre à jour des utilisateurs | |
org:users:delete | ✅ | ✅ | Supprimer des utilisateurs | |
billing:read | ✅ | ✅ | Voir la facturation | |
billing:manage | ✅ | ✅ | Gérer la facturation | |
content:read | ✅ | ✅ | ✅ | Lire le contenu |
content:create | ✅ | ✅ | Créer du contenu | |
content:update | ✅ | ✅ | Mettre à jour le contenu | |
content:delete | ✅ | ✅ | Supprimer le contenu | |
content:custom-copy | ✅ | ✅ | ✅ | Créer des copies personnalisées |
content:restore | ✅ | ✅ | Restaurer le contenu | |
calc:use | ✅ | ✅ | ✅ | Utiliser les endpoints de calcul |
chart:use | ✅ | ✅ | ✅ | Utiliser les endpoints de thèmes |
modules:read | ✅ | ✅ | ✅ | Lire les informations de modules |
admin:access | ✅ | Accès administrateur |
Contexte d'Organisation
Pour les applications multi-locataires, les clés API sont liées aux organisations. Le contexte organisationnel est automatiquement appliqué en fonction de la clé API utilisée.
Restrictions de Domaine
Les clés API peuvent être configurées avec des restrictions de domaine pour limiter les sites web qui peuvent les utiliser :
example.com- Correspondance exacte du domaine*.example.com- Tous les sous-domaines*- Autoriser tous les domaines (non recommandé)
Configurez les restrictions de domaine dans le tableau de bord lors de la création ou de la modification d'une clé API.
Limitation Importante
Les restrictions de domaine ne protègent que contre les abus depuis le navigateur. Elles reposent sur les en-têtes Origin et Referer, que les navigateurs appliquent mais qui peuvent être facilement usurpés en dehors du navigateur (par exemple, curl, scripts, code côté serveur).
Utilisation Côté Client vs Côté Serveur
Serveur à Serveur (Recommandé)
Pour les applications en production, utilisez toujours les clés API sur votre serveur backend :
┌─────────────┐ ┌─────────────────┐ ┌─────────────┐
│ Navigateur│ ───► │ Votre Backend │ ───► │ AstroAPI │
│ (sans clés)│ │ (clé API ici) │ │ │
└─────────────┘ └─────────────────┘ └─────────────┘Cette approche :
- Garde votre clé API sécurisée et cachée
- Vous permet d'ajouter votre propre couche d'authentification
- Empêche l'extraction de la clé API par les utilisateurs finaux
- Permet la signature des requêtes et des mesures de sécurité supplémentaires
Utilisation Côté Client / Navigateur
Si vous devez utiliser des clés API directement dans le navigateur (par exemple, widgets intégrés sur des sites statiques), soyez conscient des limitations :
- Les clés API sont visibles dans le code source JavaScript et les requêtes réseau
- N'importe qui peut extraire la clé de votre site web
- Les restrictions de domaine empêchent seulement les autres sites d'utiliser votre clé via JavaScript — elles n'empêchent pas quelqu'un de copier la clé et de l'utiliser ailleurs
Pour une utilisation côté client, nous recommandons :
- Activer les restrictions de domaine
- Définir des limites de débit strictes
- Utiliser des durées d'expiration courtes
- Surveiller l'utilisation pour détecter des anomalies
Responsabilité du Client
Important
Vous êtes responsable de la sécurité et de l'utilisation de vos clés API.
Toutes les requêtes API effectuées avec votre clé API sont comptabilisées dans votre quota et facturées à votre compte, que les requêtes aient été effectuées par vous ou par quelqu'un qui a obtenu votre clé.
Si vous exposez une clé API dans du code côté client et qu'elle est mal utilisée, vous êtes responsable de l'utilisation et des coûts qui en résultent. AstroAPI ne peut pas distinguer les requêtes légitimes des requêtes non autorisées effectuées avec une clé API valide.
Pour minimiser les risques :
- Utilisez la communication serveur à serveur chaque fois que possible
- Ne commitez jamais les clés API dans le contrôle de version
- Faites pivoter les clés immédiatement si vous suspectez qu'elles ont été compromises
- Configurez des alertes d'utilisation pour détecter des pics inattendus
Bonnes Pratiques de Sécurité
- Utilisez la communication serveur à serveur pour les applications en production
- N'exposez jamais les clés API dans le code côté client sauf si absolument nécessaire
- Faites pivoter les clés API périodiquement
- Utilisez les permissions minimales requises
- Activez les restrictions de domaine pour les clés côté client
- Définissez des limites de débit appropriées
- Surveillez l'utilisation des clés API dans le tableau de bord