Erstellen Sie Ihre Applikation, Benutzer und Token
Um das Client SDK nutzen zu können, müssen Sie drei Dinge einrichten, bevor Sie loslegen können:
- Vonage Anwendung - eine Application, die die Konfiguration für die App enthält, die Sie bauen.
- Benutzer - Benutzer, die mit der Vonage Application verbunden sind. Es wird erwartet, dass die Benutzer eine Eins-zu-Eins-Zuordnung zu Ihrem eigenen Authentifizierungssystem haben werden.
- JSON-Web-Token, JWTs - Client SDK verwendet JWTs zur Authentifizierung. Damit sich ein Benutzer anmelden und die SDK-Funktionen nutzen kann, müssen Sie für jeden Benutzer ein JWT bereitstellen. JWTs enthalten alle Informationen, die die Vonage Plattform benötigt, um Anfragen zu authentifizieren, sowie Informationen wie die zugehörigen Applications, Benutzer und Berechtigungen.
All diese können sein erstellt von Ihrem Backend. Wenn Sie sofort loslegen und Erfahrungen SDK sofort nutzen möchten, können Sie auch eine Backend-Anwendung zur Verwendung mit dem Client SDK mit dem Client SDK Beispiel Server-Vorlage. Andernfalls zeigt Ihnen dieses Tutorial, wie Sie dies mit Hilfe des Vonage CLI.
Voraussetzungen
Vergewissern Sie sich, dass Sie die folgenden Informationen haben:
- Ein Vonage Account - sich einschreiben
- Node.JS und NPM installiert
- Installieren Sie die Vonage CLI.
Erstellen einer Vonage-Applikation
Sie müssen nun eine Vonage-Anwendung erstellen. In diesem Beispiel erstellen Sie eine Anwendung, die den Anwendungsfall In-App Voice verarbeiten kann.
- Erstellen Sie zunächst Ihr Projektverzeichnis, falls Sie dies noch nicht getan haben.
- Wechseln Sie in das Projektverzeichnis, das Sie jetzt erstellt haben.
- Verwenden Sie die folgenden Befehle zum Erstellen und Konfigurieren einer Vonage-Applikation mit Sprach- und WebRTC-Funktionen. Ersetzen Sie
Sie die Webhook-URLs durch Ihre eigenen. Wenn Ihre Plattform den eingehenden Datenverkehr, den sie empfangen kann, durch IP
Adressbereiche einschränkt, müssen Sie die Vonage IP-Adressen
zu Ihrer Zulassungsliste hinzufügen. Die IP-Adressen können programmatisch abgerufen werden, indem Sie eine GET-Anfrage an
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
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
Sprachfähigkeiten hinzufügen:
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 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
RTC-Funktionen hinzufügen
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
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
Anschließend wird die Anwendung erstellt. Eine private Schlüsseldatei private.key wird ebenfalls erstellt.
Das Erstellen einer Anwendung und die Anwendungsmöglichkeiten werden im Detail in der Applikationsleitfaden.
Einen Benutzer erstellen
Erstellen Sie einen Benutzer, der sich beim Vonage Client SDK anmeldet und an den SDK-Funktionen teilnimmt: Konversationen, Anrufe und so weiter.
Führen Sie den folgenden Befehl in Ihrem Terminal aus, um einen Benutzer namens Alice zu erstellen:
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
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
Die Benutzer-ID wird für die Durchführung von Aufgaben durch das SDK verwendet, z. B. für die Anmeldung, das Starten eines Anrufs und mehr.
Erzeugen eines Benutzer-JWTs
JWTs werden verwendet, um einen Benutzer beim Client SDK zu authentifizieren.
Um ein JWT für Alice zu generieren, führen Sie den folgenden Befehl aus (ersetzen Sie ihn durch Ihre Informationen):
# 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
REM 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\/**\":{}}}"
REM Will produce a token
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2wiOnsicGF0aHMiOnsiLyovcnRjLyoqIjp7fSwiLyovdXNlcnMvKioiOnt9LCIvKi9jb252ZXJzYXRpb25zLyoqIjp7fSwiLyovc2Vzc2lvbnMvKioiOnt9LCIvKi9kZXZpY2VzLyoqIjp7fSwiLyovcHVzaC8qKiI6e30sIi8qL2tub2NraW5nLyoqIjp7fSwiLyovbGVncy8qKiI6e319fSwiZXhwIjoxNzQxMTgyMzA3LCJzdWIiOiJBbGljZSIsImp0aSI6Ijg1MTViNzk2LTA1YjktNGFkMS04MTRkLTE1NWZjZTQzZWM1YiIsImlhdCI6MTc0MTE4MTQwNywiYXBwbGljYXRpb25faWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAifQ.BscMdDXZ1-nuLtKyPJvw9tE8E8ZjJvTPJPMT9y0TjPz4Q7qqNaqxcjglc5QPtYEjh2YpZH6btSKbUF4XTClI026Hl5_QOBlnayYo7jXwhba16fa5PeyzSf30QFGFrHbANwrQJFVCjd329SZUpwK4GxgB1gf230NhbfmkhegKezqicru2WTGCKm8kQncYliFwIEYUlcRAb2c8xcaVrn_6QNNahyeJRwGFfWpIkX0Oe-S4RDlPjoq47_gYWac9MmaetB4Dd3Yp531AuniGV5JiIShkaEwuY4Zyov4Hcmajm4Lm_UFY119la7vzHis0P7cT9pPUDe5cyPj7eT8-VhitfQ
Mit dem obigen Befehl wird der Ablauf des JWT standardmäßig auf 24 Stunden festgelegt. Sie können den Ablauf auf eine kürzere Zeitspanne ändern
Zeit ändern, indem Sie die --exp Flagge.
ANMERKUNG: In produktiven Anwendungen wird erwartet, dass Ihr Backend einen Endpunkt bereitstellt, der JWT für Ihre Client-Anfrage generiert.