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 êtes en train de construire.
  • Utilisateurs - Les utilisateurs qui sont associés à l'Application Vonage. Il est prévu que les utilisateurs aient une correspondance univoque avec votre propre système d'authentification.
  • Jetons Web JSON, JWTs - Le Client SDK utilise des 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 a besoin pour authentifier les demandes, ainsi que des informations telles que les Applications, les Utilisateurs et les autorisations associés.

Tous ces éléments peuvent être créé par votre backend. Si vous souhaitez commencer à utiliser le SDK sans implémenter votre backend, 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 :

Vérifier Démarrer avec l'interface de programmation de Vonage pour plus d'informations sur l'installation et la configuration de la CLI.

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 la commande suivante pour créer une application Vonage dotée de fonctionnalités vocales et WebRTC. Remplacez les URL 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'URL Webhook à l'URL Webhook. vous devrez ajouter l'URL Adresses IP de Vonage à votre liste de à 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
  1. Une fois que vous avez l'application, vous devez ajouter l'élément voice et rtc des capacités :
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
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 et dispose des capacités nécessaires. La création d'une application et les capacités de l'application sont traitées en détail dans la section la documentation.

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 :

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 :

# 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 l'expiration du JWT à un jour à partir de maintenant, ce qui correspond à la durée maximale. Vous pouvez modifier l'expiration à une durée plus courte, ou régénérer un JWT pour l'utilisateur après l'expiration du JWT actuel.

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