VocalStack Logo

Documentation

Obtenir des données de transcription

Obtenez des données à partir de transcriptions en attente ou terminées

Transcrire à partir d'un microphone ou d'un LiveStream

Transcrire le discours en direct à partir d'un microphone ou d'un flux en direct

Sessions de transcription

Surveiller et gérer l'état de la transcription avec des sessions

Traduire une transcription

Traduire le texte transcrit dans une autre langue

Transcription audio à partir d'URL

Transcrire la parole d'un audio préenregistré dans une URL en texte brut

Demande de transcription et réponse

Options et réponses de requête communes pour toutes les opérations de transcription

Transcrire et présenter une session polyglotte

Créer une session pouvant être utilisée pour diffuser une transcription en direct via un lien public partageable

Jetons d'authentification côté client

Parcourir la documentation
Créer un jeton d'authentification temporaire pour les requêtes côté client. Implémentez en toute sécurité les requêtes API dans les navigateurs Web sans exposer vos clés API.
Les jetons d'authentification sont une mesure de sécurité essentielle dans les environnements clients où vous avez besoin des services d'API VocalStack. Vous aurez besoin de cela lors de l'implémentation de requêtes API dans les navigateurs Web, les applications ou tout autre environnement public.
Côté serveur, nous pouvons utiliser le SDK pour générer un jeton d'authentification. Par défaut, les options pour le jeton sont restrictives. Vous pouvez mettre à jour ces derniers pour répondre à vos besoins:
  • access: Soit "readonly" ou "readwrite". Le premier vous permet d'exécuter des appels API qui renvoient des données. Ce dernier vous permet également d'exécuter des requêtes API qui incluent des opérations de transcription facturables. La valeur par défaut pour cette option est. "readonly".
  • lifetime_s: Un nombre entre 1 et 120 représentant la durée de vie du jeton en secondes. Après cette période, le jeton expirera et ne sera plus utilisable. Notez que cela n'affectera pas les requêtes asynchrones qui ont déjà commencé à utiliser ce jeton. (En d'autres termes, une fois qu'une requête asynchrone a été démarrée, elle s'exécutera jusqu'à son achèvement, même si le jeton a expiré après le démarrage de la requête. ) La valeur par défaut pour cette option est. 10.
  • one_time: Un booléen indiquant si ce jeton API est destiné à un usage unique. Si true, une fois que ce jeton a été utilisé pour une requête API, il expirera. La valeur par défaut pour cette option est. true.
Voici à quoi cela ressemblera sur votre serveur:
JavaScript
import { Security } from '@vocalstack/js-sdk'; const sdk = new Security({ apiKey: 'YOUR-API-KEY' }); const authToken = await sdk.generateToken({ access: 'readwrite', // Optional: 'readonly' or 'readwrite' lifetime_s: 60, // Optional: 1-120 seconds one_time: true, // Optional: true or false }); // Next, return the token to the client where API request will be made. // Make sure to keep the token secure and do not expose it to the public.
Vous devrez configurer un mécanisme pour servir le jeton API généré par votre serveur à votre client. Cela dépendra en grande partie de votre infrastructure et de votre pile technologique. Assurez-vous d'appliquer les meilleures pratiques de sécurité. Par exemple, vous ne devez pas créer un point de terminaison d’API qui fournit des jetons API générés à des requêtes non authentifiées.
La consommation de l'API VocalStack côté client nécessite l'utilisation d'un authToken setting instead of an apiKey. Par exemple, considérez la documentation pour Transcription audio à partir d'URL.
Dans cet exemple, remplacez simplement:
{ apiKey: 'YOUR-API-KEY' } with { authToken: 'YOUR-AUTH-TOKEN' } 👇
JavaScript
import { UrlTranscription } from '@vocalstack/js-sdk'; const authToken = await fetch('http://example.com/your-secured-api/authenticate') .then((response) => response.json()) .then((data) => data.token); const sdk = new UrlTranscription({ authToken }); const transcription = await sdk.connect({ url: 'http://example.com/speech.mp3' }); transcription.start();
Lors de la génération et du service de jetons d'authentification côté client, il est crucial de mettre en œuvre des mesures de sécurité strictes pour empêcher tout accès non autorisé à votre API. Les jetons sont des outils puissants pour accéder aux ressources et aux services, et s’ils ne sont pas protégés, ils peuvent être utilisés à mauvais escient. Vous devez vous assurer que seuls les clients autorisés peuvent demander et utiliser des jetons, et vous ne devriez jamais exposer des données sensibles telles que les clés API dans un environnement public. Le non-respect de cette règle pourrait entraîner des violations de données, un accès non autorisé aux ressources ou des frais involontaires pour des services facturables.
Pour sécuriser votre implémentation, considérez les meilleures pratiques suivantes :
  • Ne jamais exposer vos clés API côté client: Les clés API doivent toujours rester confidentielles et être stockées en toute sécurité sur le serveur. Les exposer dans le code côté client (e. g. JavaScript, HTML) peut conduire à un accès non autorisé à l'API.
  • Utilisez la génération de jetons côté serveur sécurisé: Générer toujours des jetons d'authentification côté serveur pour empêcher l'exposition des clés API dans le code client.
  • Authentifier les demandes de jetons: Assurez-vous que seuls les utilisateurs ou services authentifiés peuvent demander un jeton API en appliquant des mécanismes d'authentification (p. ex. g. , OAuth, validation de session).
  • Implémenter le HTTPS: Servez toujours les jetons sur HTTPS pour vous protéger contre les attaques de l'homme du milieu.
  • Évitez d'exposer des jetons dans les URL: Ne passez jamais de jetons dans les paramètres de requête d'URL car ils pourraient être enregistrés dans les journaux du serveur ou exposés dans l'historique du navigateur.
  • Restreindre la portée du jeton: Limiter les jetons aux autorisations minimales nécessaires, comme l'accès en lecture seule, à moins que l'accès en écriture ne soit explicitement requis.
  • Définir l'expiration du jeton: Utilisez des jetons de courte durée de vie pour réduire le risque d'utilisation abusive des jetons. Envisagez de limiter la durée de vie des jetons en fonction des modèles d'utilisation et des besoins de sécurité.
  • Activer les jetons à usage unique: Si possible, utilisez des jetons à usage unique pour les actions particulièrement sensibles afin de vous assurer qu'ils ne peuvent pas être réutilisés.
Scroll Up