Aller au contenu principal

Authentification

Ce document fournit des instructions détaillées sur la manière de s'authentifier avec l'API Tianji, y compris l'obtention, l'utilisation et la gestion des clés API.

Méthode d'authentification​

L'API Tianji utilise l'authentification Bearer Token. Vous devez inclure votre clé API dans l'en-tête HTTP de chaque requête API.

Format de l'en-tête HTTP​

Authorization: Bearer <VOTRE_CLÉ_API>

Obtention des clés API​

  1. Connectez-vous à votre instance Tianji
  2. Cliquez sur votre avatar dans le coin supérieur droit
  3. Trouvez la section Clés API
  4. Cliquez sur le bouton + pour créer une nouvelle clé API
  5. Nommez votre clé API et enregistrez-la

Gestion des clés API​

Voir les clés existantes​

Dans la section Clés API, vous pouvez voir :

  • Nom/description de la clé API
  • Date de création
  • Dernière utilisation
  • Statistiques du nombre d'utilisations

Supprimer des clés API​

Si vous devez révoquer une clé API :

  1. Trouvez la clé API que vous souhaitez supprimer
  2. Cliquez sur le bouton Supprimer
  3. Confirmez l'opération de suppression
Note

Après suppression d'une clé API, toutes les applications utilisant cette clé ne pourront plus accéder à l'API.

Utilisation des clés API​

Exemple cURL​

curl -X GET "https://your-tianji-domain.com/open/global/config" \
-H "Authorization: Bearer <your_api_key_here>" \
-H "Content-Type: application/json"

Exemple JavaScript/Node.js​

const apiKey = '<your_api_key_here>';
const baseUrl = 'https://your-tianji-domain.com/open';

const headers = {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
};

// Utilisation de fetch
const response = await fetch(`${baseUrl}/global/config`, {
method: 'GET',
headers: headers
});

// Utilisation de axios
const axios = require('axios');
const response = await axios.get(`${baseUrl}/global/config`, {
headers: headers
});

Exemple Python​

import requests

api_key = '<your_api_key_here>'
base_url = 'https://your-tianji-domain.com/open'

headers = {
'Authorization': f'Bearer {api_key}',
'Content-Type': 'application/json'
}

# Utilisation de la bibliothèque requests
response = requests.get(f'{base_url}/global/config', headers=headers)
data = response.json()

Exemple PHP​

<?php
$apiKey = '<your_api_key_here>';
$baseUrl = 'https://your-tianji-domain.com/open';

$headers = [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json'
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $baseUrl . '/global/config');
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);
?>

Permissions et portée​

Permissions des clés API​

Les clés API héritent de toutes les permissions de leur créateur, y compris :

  • Accès à toutes les données dans les espaces de travail de l'utilisateur
  • Exécuter toutes les opérations pour lesquelles l'utilisateur a la permission
  • Gérer les ressources créées par cet utilisateur

Accès aux espaces de travail​

Les clés API ne peuvent accéder qu'aux espaces de travail auxquels l'utilisateur appartient. Si vous devez accéder à plusieurs espaces de travail, assurez-vous que votre compte utilisateur a les autorisations appropriées pour ces espaces.

Gestion des erreurs​

Erreurs d'authentification courantes​

401 Non autorisé​

{
"error": {
"code": "UNAUTHORIZED",
"message": "Autorisation non fournie"
}
}

Causes :

  • Aucun en-tête d'autorisation fourni
  • Format de clé API incorrect

403 Interdit​

{
"error": {
"code": "FORBIDDEN",
"message": "Accès insuffisant"
}
}

Causes :

  • Clé API invalide ou supprimée
  • L'utilisateur n'a pas la permission d'accéder à la ressource demandée

Débogage des problèmes d'authentification​

  1. Vérifiez le format de la clé API : Assurez-vous d'utiliser le format Bearer token_ici
  2. Vérifiez la validité de la clé : Confirmez que la clé existe toujours dans l'interface Tianji
  3. Vérifiez les permissions : Assurez-vous que le compte utilisateur a la permission d'accéder à la ressource cible
  4. Testez des points d'extrémité simples : Commencez par tester des points d'extrémité publics comme /global/config