Server-Authentifizierung

Voraussetzungen

In diesem Leitfaden wird davon ausgegangen, dass Sie die folgenden Anforderungen erfüllt haben:

  • Die Funktion Netzwerkfunktionen ist in Ihrer Vonage-Anwendung aktiviert. Folgen Sie diesem Leitfaden um ausführliche Informationen darüber zu lesen, wie das geht.
  • Sie haben eine gültige JWT. Sie können unser Online-Generator zur Erstellung einer JWT mit Ihrem privaten Schlüssel und der ID Ihrer Vonage-Anwendung, die Sie beide in der Kunden-Dashboard, oder folgen Sie den Anweisungen hier eine andere Methode zu verwenden.

Auth-API-Referenz

Die OpenAPI-Spezifikation für die Authentifizierungsendpunkte der Netzwerkfunktionen ist verfügbar hier.

Ablauf der Authentifizierung

Die Durchführung eines API-Aufrufs erfolgt in drei Schritten:

  1. Die Backend-Anwendung fordert eine Autorisierungs-ID an.
  2. Die Backend-Anwendung verwendet diese Autorisierungs-ID, um einen CAMARA-Zugangstoken anfordern.
  3. Schließlich verwendet die Backend-Anwendung das Zugriffstoken, um den API-Aufruf tätigen.
Vonage Communications PlatformBackend ApplicationVonage Communications PlatformBackend Application1. Make an OIDC RequestAuthorization Response2. Request a CAMARA access tokenCAMARA access token response3. Make the API callResult

Einen OIDC-Antrag stellen

OpenID Connect (OIDC) ist eine Identitätsschicht, die auf dem OAuth 2.0-Protokoll aufbaut und eine Möglichkeit bietet, die Identität eines Benutzers mithilfe des JWT Token.

POST
https://api-eu.vonage.com/oauth2/bc-authorize

curl -X POST https://api-eu.vonage.com/oauth2/bc-authorize \
  --header "Authorization: Bearer $JWT" \
  --header "Content-Type: application/x-www-form-urlencoded" \
  --data-urlencode "login_hint=$PHONE_NUMBER" \
  --data-urlencode "scope=$SCOPE"

Kopfzeilen

Kopfzeile Beschreibung
Authorization Muss eingestellt werden auf Bearer zusammen mit dem JWT Token, das im vorherigen Schritt erzeugt wurde. Die JWT muss mit der App übereinstimmen, die für die Nutzung der Netzwerkfunktionen zugelassen ist.
Content-Type Muss eingestellt werden auf application/x-www-form-urlencoded.

Körper-Parameter

Parameter Beschreibung
login_hint (Erforderlich) Die Telefonnummer (einschließlich Landesvorwahl), die Sie überprüfen möchten, z. B. +447700900000
scope (Erforderlich) Geltungsbereich im String-Format.

Wenn Sie einen API-Anruf mit einer anderen Telefonnummer tätigen möchten, müssen Sie ein neues Zugriffstoken für diese Nummer erstellen.

Antwort

Bei Erfolg hat die Antwort einen 200 OK Status und die folgenden JSON-Daten im Antwortkörper:

{
  "auth_req_id": "$AUTH_REQ_ID",
  "expires_in": 120,
  "interval": 2
}
Parameter Typ Beschreibung
auth_req_id String Die Autorisierungs-ID, die Sie für den nächsten Schritt benötigen.
expires_in int Die Anzahl der Sekunden bis zum Ablauf des Authentifizierungscodes
interval int Die Anzahl der Sekunden bis zur nächsten Anfrage

CAMARA-Zugangs-Token anfordern

Um ein CAMARA-Zugangs-Token anzufordern, senden Sie eine

POST
-Anfrage an https://api-eu.vonage.com/oauth2/token

curl -X POST https://api-eu.vonage.com/oauth2/token \
  --header "Authorization: Bearer $JWT" \
  --header "Content-Type: application/x-www-form-urlencoded" \
  --data-urlencode "auth_req_id=$AUTH_REQ_ID" \
  --data-urlencode "grant_type=urn:openid:params:grant-type:ciba"

Kopfzeilen

Kopfzeile Beschreibung
Authorization Muss eingestellt werden auf Bearer zusammen mit dem JWT Token, das im vorherigen Schritt erzeugt wurde. Die JWT muss mit der App übereinstimmen, die für die Nutzung der Netzwerkfunktionen zugelassen ist.
Content-Type Muss eingestellt werden auf application/x-www-form-urlencoded.

Körper-Parameter

Parameter Beschreibung
auth_req_id (Erforderlich) Dies wird in der Antwort auf die vorheriger Schritt.
grant_type (Erforderlich) Muss eingestellt werden auf urn:openid:params:grant-type:ciba.

Antwort

Bei Erfolg hat die Antwort einen 200 OK Status und die folgenden JSON-Daten im Antwortkörper:

{
 "access_token": "$ACCESS_TOKEN",
 "token_type": "Bearer",
 "expires_in": 3600
}
Parameter Typ Beschreibung
access_token String Das Zugriffstoken, das für die API-Aufrufe verwendet werden soll.
token_type String Sie ist immer auf Bearer.
expires_in int Der Zeitraum (in Sekunden), für den das Zugangs-Token gültig ist.

Machen Sie den API-Aufruf

Alle Anrufe zu Netzmerkmalen müssen die folgende Kopfzeile enthalten:

Kopfzeile Beschreibung
Authorization Muss eingestellt werden auf Bearer zusammen mit dem access token die in der vorheriger Schritt.

Anfrage Beispiel

Das folgende Beispiel zeigt, wie man einen API-Aufruf an SIM-Tausch-API unter Verwendung des Zugangstokens:

curl -X POST https://api-eu.vonage.com/camara/sim-swap/v040/check \
  --header "Authorization: Bearer $ACCESS_TOKEN" \
  --header "Content-Type: application/json" \
  --data $'{
        "phoneNumber": "'$PHONE_NUMBER'",
        "maxAge": 240
}'

Beispiel für eine Antwort

Bei Erfolg hat die Antwort einen 200 OK Status und die folgenden JSON-Daten im Antwortkörper:

{
   "swapped": true
}