Authentification

Vos appels serveur s'authentifient avec une clé d'API. Vos utilisateurs se connectent avec un jeton à durée limitée.

lunion.meet distingue deux niveaux d'accès, et il est important de ne pas les confondre :

  • Clé d'API, secrète, détenue par votre serveur. Elle autorise les appels d'administration (créer des salles, émettre des jetons). Ne l'exposez jamais côté client.
  • Jeton de connexion, à durée limitée, émis par votre serveur pour un utilisateur précis. C'est ce que reçoit votre app pour rejoindre une salle.

Clés d'API

Créez une clé depuis le tableau de bord, dans votre application → Clés d'API. Une clé a la forme lk_xxxxx.secret :

  • la partie avant le point (lk_xxxxx) est l'identifiant public de la clé ;
  • la partie après le point est le secret, stocké haché chez nous, jamais réaffiché.

Affichée une seule fois

Le secret complet n'apparaît qu'au moment de la création. Copiez-le immédiatement. Si vous le perdez, révoquez la clé et créez-en une nouvelle.

Faire un appel authentifié

Passez la clé complète dans l'en-tête Authorization en tant que jeton porteur (Bearer). Le SDK serveur le fait pour vous.

cURL
curl -X POST https://meet.lunion-lab.com/api/v1/sdk/rooms \  -H "Authorization: Bearer lk_xxxxx.secret" \  -H "Content-Type: application/json" \  -d '{ "name": "Réunion produit" }'
server.ts
import { RoomServiceClient } from "@lunionlab/meet-server-sdk"; // La clé est lue depuis l'environnement, jamais codée en dur.const rooms = new RoomServiceClient(  "https://meet.lunion-lab.com/api/v1",  process.env.LUNION_API_KEY!,);

Bonnes pratiques

  • Conservez la clé dans une variable d'environnement (.env), jamais dans un dépôt ni dans le bundle front.
  • Utilisez une clé distincte par environnement (développement, production).
  • Révoquez immédiatement toute clé suspectée d'avoir fuité.
  • Donnez à chaque utilisateur un jeton avec le strict nécessaire (voir grants dans « Jetons & connexion client »).