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 einerJWTmit 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:
- Die Backend-Anwendung fordert eine Autorisierungs-ID an.
- Die Backend-Anwendung verwendet diese Autorisierungs-ID, um einen CAMARA-Zugangstoken anfordern.
- Schließlich verwendet die Backend-Anwendung das Zugriffstoken, um den API-Aufruf tätigen.
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.
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
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
}