Verwenden Sie das Vonage Client SDK
Es ist nun an der Zeit, die stille Authentifizierung ordnungsgemäß abzuschließen, indem die Android-App die check_url über das Mobilfunknetz und die anschließende Übermittlung der code zurück zum Backend über /check-code.
Anstatt die OkHttp anrufen check_urlWir verwenden das Vonage Client SDK, da die stille Authentifizierung vom Kontext des Mobilfunknetzes abhängt (Routing des Netzbetreibers, SIM-/Netzidentität) und die Anfrage möglicherweise über Wi-Fi erfolgt, was den Zweck der stummen Authentifizierung nicht erfüllt.
Das Vonage Client SDK wurde entwickelt, um genau dieses Problem zu lösen:
- Er kann die Anfrage über Mobilfunkdaten erzwingen (oder die korrekte Netzroute verwenden)
- Es behandelt Umleitungen und Anfragedetails so, wie es Silent Auth erwartet
- Es gibt Ihnen eine strukturierte Antwort, so dass Sie die
codesauber
In diesem Abschnitt bauen wir das Folgende:
- Wenn
check_urlvorhanden ist, rufen Sie es mit dem Vonage Client SDK vom Telefon aus auf. - Auszug
codeaus der Antwort. - Senden Sie
{ request_id, code }zum Backend über/check-code. - Wenn Silent Auth fehlschlägt, wird auf SMS zurückgegriffen:
- aufrufen
/next(best-effort, damit wir nicht ~20 Sekunden warten). - die SMS-Code-Benutzeroberfläche anzeigen.
- aufrufen
Hinzufügen der Vonage Client SDK-Abhängigkeit
Fügen Sie die Abhängigkeit zum aktuellen Projekt hinzu. Öffnen Sie Ihr build.gradle.kts und hinzufügen:
Nach dem Hinzufügen synchronisieren Sie Gradle.
Initialisieren des SDK
Initialisieren Sie das SDK einmal in MainActivity.onCreate():
Dies ist beim Start sicher und verhindert, dass man es später vergisst.
Umsetzung checkSilentAuth(checkUrl) Verwendung des SDK
Fügen Sie diese Funktion zu Ihrer MainActivity.kt.. Er führt eine zelluläre GET-Anfrage an check_url, folgt Umleitungen und extrahiert code aus der JSON-Antwort.
Die Methode gibt ein code Zeichenkette, die Ihr Backend validieren kann mit POST /check-code.
Aktualisieren Sie den Fluss "Überprüfung starten", um eine stille Autorisierung zu versuchen.
Ersetzen Sie nun die Logik "always force SMS fallback" aus dem vorherigen Abschnitt durch:
- Versuchen Sie Silent Auth, wenn
check_urlvorhanden ist - Wenn es fehlschlägt, lösen Sie
/next(Best-Effort) und SMS UI anzeigen
Konzeptionell:
POST /verification→(request_id, check_url?)Wenn
check_urlexistiert:code = checkSilentAuth(check_url)POST /check-codemit(request_id, code)
Wenn das nicht klappt:
- aufrufen
POST /next(optionale UX-Optimierung) - SMS UI anzeigen
- aufrufen
Hier ist der Kernteil, den Sie innerhalb Ihrer Compose-Schaltfläche verwenden sollten onClick (innerhalb einer Coroutine):

Erste Schritte mit der stillen Authentifizierung
Silent Authentication ist nicht ganz einfach zu verstehen. Dieses Tutorial zeigt Ihnen, wie Sie eine Integration von Grund auf mit Nodejs und Kotlin erstellen können