Créez votre application, vos utilisateurs et vos jetons

Pour utiliser le Client SDK, il y a trois choses que vous devez configurer avant de commencer :

  • Applications Vonage - une Application qui contient la configuration de l'application que vous construisez. que vous construisez.
  • Utilisateurs - les utilisateurs associés à l'application Vonage. On s'attend à ce que Les utilisateurs aient une correspondance univoque avec votre propre système d'authentification.
  • Jetons Web JSON, JWTs - Client SDK utilise les JWT pour l'authentification. Pour qu'un utilisateur puisse se connecter et utiliser les fonctionnalités du SDK, vous devez fournir un JWT par utilisateur. Les JWT contiennent toutes les informations dont la plateforme Vonage pour authentifier les demandes, ainsi que des informations telles que les Applications, les Utilisateurs et les autorisations associées. autorisations.

Tous ces éléments peuvent être créé par votre backend. Si vous souhaitez commencer à utiliser le SDK tout de suite, vous pouvez également déployer une application dorsale à utiliser avec le SDK client. vous pouvez également déployer une application dorsale à utiliser avec le Client SDK à l'aide de la commande Client SDK Exemple de modèle de serveur. Sinon, ce tutoriel vous montrera comment le faire, en utilisant la fonction CLI Vonage.

Conditions préalables

Assurez-vous que vous disposez des éléments suivants :

Créer une application Vonage

Vous devez maintenant créer une application Vonage. Dans cet exemple, vous créez une application capable de gérer le cas d'utilisation In-App Voice.

  1. Créez d'abord votre répertoire de projet si vous ne l'avez pas encore fait.
  2. Allez dans le répertoire du projet que vous venez de créer.
  3. Utilisez les commandes suivantes pour créer et configurer une application Vonage avec des fonctionnalités vocales et WebRTC. Remplacez les URL des webhooks par les vôtres. Si votre plateforme limite le trafic entrant qu'elle peut recevoir à l'aide de plages d'adresses IP vous devrez ajouter l'option Adresses IP de Vonage à votre liste d'autorisations. Les adresses IP peuvent être récupérées par programme en envoyant une requête GET à https://api.nexmo.com/ips-v4.
vonage apps create 'Your application'

✅ Creating Application
Saving private key ... Done!
Application created

Name: Your application
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set

Capabilities:
  None Enabled

Ajouter des capacités vocales :

vonage apps capabilities update 00000000-0000-0000-0000-000000000000 voice `
  --voice-answer-url='https://example.com/webhooks/voice/answer' `
  --voice-event-url='https://example.com/webhooks/voice/event' `
  --voice-fallback-url='https://example.com/webhooks/voice/fallback'
  
✅ Fetching Application
✅ Adding voice capability to application 00000000-0000-0000-0000-000000000000

Name: Your application
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set

Capabilities:
 VOICE:
    Uses Signed callbacks: On
    Conversation TTL: 41 hours
    Leg Persistence Time: 6 days
    Event URL: [POST] https://example.com/webhooks/voice/event
    Answer URL: [POST] https://example.com/webhooks/voice/answer
    Fallback URL: [POST] https://example.com/webhooks/voice/fallback

Ajouter des capacités RTC

vonage apps capabilities update 00000000-0000-0000-0000-000000000000 messages `
  --messages-inbound-url='https://example.com/messages/inboud' `
  --messages-status-url='https://example.com/messages/status' `
  --messages-version='v1' `
  --no-messages-authenticate-media
  
✅ Fetching Application
✅ Adding messages capability to application 00000000-0000-0000-0000-000000000000

Name: Your application
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set

Capabilities:
  MESSAGES:
    Authenticate Inbound Media: Off
    Webhook Version: v1
    Status URL: [POST] https://example.com/messages/status
    Inbound URL: [POST] https://example.com/messages/inboud

L'application est alors créée. Un fichier de clés privées private.key est également créé.

La création d'une application et les capacités de l'application sont couvertes en détail dans la section Guide d'application.

Créer un utilisateur

Créez un utilisateur qui se connectera à Vonage Client et participera à la fonctionnalité du SDK : Conversations, appels, etc.

Exécutez la commande suivante dans votre terminal pour créer un utilisateur nommé Alice :

vonage users create `
  --name='Alice'
  
✅ Creating User

User ID: USR-00000000-0000-0000-0000-000000000000
Name: Alice
Display Name: Not Set
Image URL: Not Set
Time to Live: Not Set

Channels:
  None Set

L'ID utilisateur est utilisé pour effectuer des tâches par le SDK, telles que la connexion, le démarrage d'un appel et plus encore.

Générer un JWT utilisateur

JWTs sont utilisés pour authentifier un utilisateur dans le Client SDK.

Pour générer un JWT pour Alice, exécutez la commande suivante (en la remplaçant par vos informations) :

# A command with parameters
vonage jwt create `
--app-id='00000000-0000-0000-0000-000000000000' `
--private-key=./private.key `
--sub='Alice' `
--acl='{\"paths\":{\"\/*\/users\/**\":{},\"\/*\/conversations\/**\":{},\"\/*\/sessions\/**\":{},\"\/*\/devices\/**\":{},\"\/*\/push\/**\":{},\"\/*\/knocking\/**\":{},\"\/*\/legs\/**\":{}}}'

# Will produce a token
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2wiOnsicGF0aHMiOnsiLyovcnRjLyoqIjp7fSwiLyovdXNlcnMvKioiOnt9LCIvKi9jb252ZXJzYXRpb25zLyoqIjp7fSwiLyovc2Vzc2lvbnMvKioiOnt9LCIvKi9kZXZpY2VzLyoqIjp7fSwiLyovcHVzaC8qKiI6e30sIi8qL2tub2NraW5nLyoqIjp7fSwiLyovbGVncy8qKiI6e319fSwiZXhwIjoxNzQxMTgyMzA3LCJzdWIiOiJBbGljZSIsImp0aSI6Ijg1MTViNzk2LTA1YjktNGFkMS04MTRkLTE1NWZjZTQzZWM1YiIsImlhdCI6MTc0MTE4MTQwNywiYXBwbGljYXRpb25faWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAifQ.BscMdDXZ1-nuLtKyPJvw9tE8E8ZjJvTPJPMT9y0TjPz4Q7qqNaqxcjglc5QPtYEjh2YpZH6btSKbUF4XTClI026Hl5_QOBlnayYo7jXwhba16fa5PeyzSf30QFGFrHbANwrQJFVCjd329SZUpwK4GxgB1gf230NhbfmkhegKezqicru2WTGCKm8kQncYliFwIEYUlcRAb2c8xcaVrn_6QNNahyeJRwGFfWpIkX0Oe-S4RDlPjoq47_gYWac9MmaetB4Dd3Yp531AuniGV5JiIShkaEwuY4Zyov4Hcmajm4Lm_UFY119la7vzHis0P7cT9pPUDe5cyPj7eT8-VhitfQ

La commande ci-dessus fixe par défaut l'expiration du JWT à 24 heures. Vous pouvez modifier l'expiration pour une durée plus courte à l'aide de la commande plus courte en utilisant la commande --exp drapeau.

NOTE: Dans les applications de production, on s'attend à ce que votre backend expose un point de terminaison qui génère des JWT selon la demande du client. demande du client.

Plus d'informations