Authentification API et jetons JWT
L’API Firma utilise deux méthodes d’authentification : l’authentification par clé API pour les requêtes serveur à serveur, et les jetons JWT pour intégrer les éditeurs de modèles et de demandes de signature dans votre application.Authentification par clé API
Tous les points de terminaison de l’API nécessitent une authentification à l’aide d’une clé API dans l’en-têteAuthorization.
Fonctionnement
Votre clé API authentifie vos requêtes et détermine à quelles ressources d’espace de travail vous pouvez accéder. Chaque espace de travail possède sa propre clé API unique, que vous pouvez récupérer via le point de terminaison Get Workspace. Espace de travail protégé : chaque compte d’entreprise dispose d’un espace de travail protégé qui ne peut pas être supprimé. Cet espace de travail protégé détient la clé API principale de votre compte, qui donne accès à tous les points de terminaison d’espace de travail, de clé API, d’entreprise/compte et de webhook. Utilisez cette clé pour les opérations à l’échelle du compte ou lorsque vous devez gérer plusieurs espaces de travail.Mode test (clés live et test)
Chaque espace de travail dispose de deux clés API : une clé live et une clé test. Le mode test est déterminé par la clé que vous envoyez ; il n’existe pas de drapeau ou de paramètre distinct.- Les requêtes authentifiées avec la clé test ne consomment pas de crédits, et toute demande de signature qu’elles créent est marquée comme test et filigranée.
- Les requêtes authentifiées avec la clé live s’exécutent normalement et consomment des crédits.
api_key = live, test_api_key = test) ainsi que par les points de terminaison Get Workspace et List Workspaces. Utilisez la clé test pendant l’intégration, puis passez à la clé live pour la production.
Vous pouvez faire pivoter chaque type de clé indépendamment : passez key_type ("live" ou "test", valeur par défaut "live") aux points de terminaison regenerate et expire. La rotation d’un type n’affecte pas l’autre.
Les clés test sont des identifiants complets avec la même portée d’accès que les clés live ; conservez-les côté serveur et ne les exposez jamais dans le code client. La seule différence concerne la facturation et le comportement de filigrane.
Rotation des clés API
Vous pouvez régénérer les clés API des espaces de travail non protégés pour renforcer la sécurité. Lorsque vous régénérez une clé :- Une nouvelle clé API est créée immédiatement et renvoyée dans la réponse
- Les anciennes clés sont configurées pour expirer dans 24 heures ; elles continuent de fonctionner pendant cette période de grâce
- Vous pouvez faire expirer manuellement les anciennes clés plus tôt une fois que vous avez vérifié que la nouvelle clé fonctionne
Les clés de l’espace de travail protégé ne peuvent pas être régénérées via l’API. Cela évite tout verrouillage accidentel de votre compte. Contactez le support si vous devez faire pivoter la clé de votre espace de travail protégé.
Régénérer une clé API
Générez une nouvelle clé API pour un espace de travail. L’ancienne clé expirera automatiquement après 24 heures :Faire expirer les anciennes clés plus tôt
Après avoir vérifié que votre nouvelle clé fonctionne, vous pouvez immédiatement faire expirer toutes les clés en attente :- Appelez le point de terminaison regenerate pour obtenir une nouvelle clé
- Mettez à jour la configuration de votre application avec la nouvelle clé
- Vérifiez que la nouvelle clé fonctionne correctement
- Appelez le point de terminaison expire pour invalider immédiatement les anciennes clés
- Surveillez les erreurs indiquant que des services utilisent encore l’ancienne clé
Format de l’en-tête
La clé API peut être envoyée de deux façons :- Format direct (recommandé pour sa simplicité) :
- Format jeton Bearer (facultatif) :
Exemples de code
Réponse d’erreur
Si votre clé API est manquante ou invalide, vous recevrez une réponse401 Unauthorized :
Jetons JWT pour les fonctionnalités intégrées
Les jetons JWT (JSON Web Token) vous permettent d’intégrer l’éditeur de modèles et l’éditeur de demandes de signature de Firma directement dans votre application. Ces jetons sont signés en RSA-256 et limités dans le temps pour des raisons de sécurité.Quand utiliser les jetons JWT
Utilisez les jetons JWT lorsque vous souhaitez :- Intégrer l’éditeur de modèles dans votre application pour permettre aux utilisateurs de créer/modifier des modèles de documents
- Intégrer l’éditeur de demandes de signature pour permettre aux utilisateurs de personnaliser des documents avant leur envoi
- Fournir un accès sécurisé et limité dans le temps à des modèles ou des demandes de signature spécifiques
- Contrôler les ressources auxquelles les utilisateurs peuvent accéder sans exposer votre clé API
Les jetons JWT doivent toujours être générés depuis votre backend sécurisé, jamais depuis le code frontend. Votre backend utilise la clé API pour générer les jetons, qui sont ensuite transmis au frontend pour l’initialisation de l’éditeur.
Types de jetons JWT
Flux d’authentification
Voici comment fonctionne l’authentification JWT pour les fonctionnalités intégrées :Guide d’implémentation
Étape 1 : générer le jeton JWT (backend)
Générez un jeton JWT depuis votre backend sécurisé à l’aide de votre clé API :Étape 2 : initialiser l’éditeur (frontend)
Utilisez le jeton JWT pour initialiser l’éditeur intégré dans votre frontend :Étape 3 : révoquer le jeton JWT (facultatif)
Révoquez un jeton JWT lorsqu’il n’est plus nécessaire :Bonnes pratiques de sécurité JWT
Guides associés
En savoir plus sur la mise en œuvre des fonctionnalités intégrées et l’utilisation de l’API :- Embeddable Template Editor - Guide complet pour intégrer l’éditeur de modèles
- Embeddable Signing Request Editor - Intégrer la personnalisation des demandes de signature
- Sending Signing Requests - Envoyer des documents pour signature
- Webhooks - S’abonner aux événements en temps réel
Référence API
Points de terminaison clés pour l’authentification et la gestion des JWT : Gestion des clés API :- Get Workspace - Récupérer la clé API de l’espace de travail
- Regenerate Workspace API Key - Générer une nouvelle clé API
- Expire Pending API Keys - Faire expirer immédiatement les anciennes clés
- Generate JWT Token for Embedding Templates
- Generate JWT Token for Signing Request
- Revoke Template JWT Token
- Revoke Signing Request JWT Token