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