Stille Authentifizierung - bewährte Praktiken
Umgehung von WiFi und Erzwingen einer mobilen Datenverbindung mit den SDKs
Die stille Authentifizierung erfordert eine aktive mobile Datenverbindung. Erfolgt die Anfrage über Wi-Fi, führt sie zu einem Fehler. Um eine erfolgreiche Anfrage zu gewährleisten, auch wenn der Benutzer eine WiFi-Verbindung hat, bietet Vonage native iOS und Android SDKs, die eine mobile Datenverbindung erzwingen.
Darüber hinaus verwalten die Vonage SDKs HTTP-Weiterleitungen (bis zu 10) und Timeouts (5 Sekunden, Rücksetzung nach jeder Weiterleitung).
Frontend
Die stille Authentifizierung innerhalb von Verify bietet eine einfache und unkomplizierte Möglichkeit zur Authentifizierung eines Benutzers, die im Vergleich zu anderen Kanälen eine verbesserte Benutzererfahrung bietet.
Bei der Einrichtung eines neuen Kontos kennt die mobile Anwendung die Telefonnummer des Endnutzers nicht, daher muss die Telefonnummer über ein Eingabefeld auf dem Begrüßungsbildschirm erfasst werden.
Alternativ kann ein Endbenutzer, der bereits einen Account hat und sich ohne Passwort anmelden möchte, seine Telefonnummer bereits gespeichert haben. In diesem Fall könnten dem Endbenutzer vorausgefüllte Textfelder angezeigt werden, und er müsste sich nur noch "anmelden".

Bei der stillen Authentifizierung ist es wichtig, dass der Benutzer mit dem Prozess vertraut ist und weiß, dass der Authentifizierungsprozess im Hintergrund läuft. Außerdem muss sichergestellt werden, dass im Falle eines Ausfalls sowohl die Front-End- als auch die Back-End-Failover-Implementierung für den Endbenutzer nicht zu umständlich ist. Es wird empfohlen, dem Benutzer ein sich drehendes Rad oder einen ähnlichen Feedback-Mechanismus zu präsentieren, damit der Endbenutzer weiß, dass die mobile Anwendung an der Authentifizierungsaufgabe arbeitet. Alternativ würde ein neuer Bildschirm mit demselben Ladeindikator und zusätzlichem Text das gleiche Ergebnis erzielen.

Im Falle eines Fehlers während des Ablaufs der stillen Authentifizierung muss das Front-End der Anwendung so angepasst werden, dass der Benutzer den Pin-Code eingeben kann, um den 2FA-Prozess abzuschließen. Dieser Code wird über die Failover-Kanäle übermittelt.

Behandlung von Fehlern und Zeitüberschreitungen bei der stillen Authentifizierung
Es liegt in der Natur der Sache, dass die stille Authentifizierung durch äußere Umstände wie fehlende mobile Datenverbindungen oder vorübergehende Netzunterbrechungen beeinträchtigt werden kann. Um ein reibungsloses Nutzererlebnis zu gewährleisten, sollte sich Ihre mobile App auf die Kundenbibliothekanstatt eigene Netzwerkprüfungen und Timeout-Verwaltung zu implementieren.
Wenn das SDK auf ein Problem stößt, werden bestimmte Ausnahmen ausgelöst, die angeben, was falsch gelaufen ist. Zum Beispiel, sdk_no_data_connectivitywird angezeigt, wenn keine mobile Datenverbindung verfügbar ist.
Timeout-Verhalten
Ihre Anwendung sollte diese Ausnahmen abfangen und Ihr Backend benachrichtigen, die next_workflow Endpunkt sofort. Dadurch wird sichergestellt, dass der Verifizierungsfluss auch dann ordnungsgemäß fortgesetzt wird, wenn der Arbeitsablauf der stillen Authentifizierung fehlschlägt oder nicht fortgesetzt werden kann.
Wenn die mobile App keine Maßnahmen ergreift, um zum nächsten Arbeitsablauf überzugehen, wird das System nach 60 Sekunden automatisch eine Zeitüberschreitung vornehmen und zum nächsten Arbeitsablauf übergehen.
Das nachstehende Sequenzdiagramm veranschaulicht eine Situation, in der Weiterleitungen nicht ordnungsgemäß von der mobilen Anwendung empfangen werden, möglicherweise aufgrund von Netzwerkproblemen während der Anforderung von check_url:
Empfohlener Durchfluss
- Starten Sie die Anfrage zur stillen Authentifizierung mit Hilfe des SDK.
- Wenn das SDK eine Ausnahme auslöst (z.B.,
sdk_no_data_connectivity), fangen Sie es ab und rufen Sie sofort das Backendnext_workflowEndpunkt. - Wenn innerhalb der internen Zeitüberschreitung Ihrer Anwendung (z. B. vor dem 60-Sekunden-Standardwert) keine Antwort oder kein Rückruf empfangen wird, rufen Sie
next_workflowauch. - Andernfalls warten Sie auf den normalen Authentifizierungs-Callback.
Dieser Ansatz minimiert die Wartezeit, verbessert die Benutzerfreundlichkeit und stellt sicher, dass Ihr Backend immer zum richtigen Schritt im Workflow vorrückt.
Failover-Szenarien
In diesem Abschnitt werden alle Szenarien aufgeführt, die während einer Anfrage zur stillen Authentifizierung auftreten können, und es werden Empfehlungen für Failover-Implementierungen gegeben, um eine optimale Benutzerfreundlichkeit zu gewährleisten.
Einige Szenarien lösen einen sofortigen Failover zum nächsten Kanal aus, es gibt jedoch Fälle, in denen der Failover erst nach dem Standard-Timeout der Stillen Authentifizierung von 60 Sekunden ausgelöst wird. In der nachstehenden Tabelle sind die verschiedenen Fehlerszenarien zusammengefasst:
| Szenario | Grund des Scheiterns | Misserfolgscode | Reaktion auf Ausfälle | Sofortige Ausfallsicherung? |
|---|---|---|---|---|
| 1 | Fehler bei stiller Autorisierung | HTTP 409 | { "title": "Silent Auth error", "detail": "The Silent Auth request could not be completed due to formatting or the carrier is not supported."} | Ja |
| 2 | MSISDN-Fehler | HTTP 409 | { "title": "MSISDN Error", "detail": "Device MSISDN does not match."} | Ja |
| 3 | Netzwerk nicht unterstützt | HTTP 412 | { "title": "Network not supported", "detail": "Device number does not resolve to a supported Mobile Network Operator."} | Ja |
| 4 | IP-Fehler | HTTP 412 | { "title": "IP Error", "detail": "IP Address does not resolve to a cellular device."} | Ja |
| 5 | iOS/Android SDK-Fehler | -- | sdk_no_data_connectivity, sdk_connection_error, sdk_redirect_error, sdk_error | Nein |
Stille Authentifizierung Abrechnung
Wenn eine Anfrage zur stillen Authentifizierung eingeleitet wird, werden ein Eintrag für die Verify-Plattformgebühr und ein oder zwei weitere Einträge für die Nutzung der stillen Authentifizierung erzeugt. Der Eintrag, der als INITIATED wird nie in Rechnung gestellt. Insgesamt kann eine einzelne Anfrage zur Stillen Authentifizierung bis zu drei zugehörige Datensätze haben.
Prüfung
Um Verify Silent Authentication zu testen, können Sie wie folgt vorgehen:
- Verwenden Sie virtuelle Numbers.
- Erlauben Sie das Auflisten von Numbers für unterstützte Netzwerke über die Netzwerk-Register.
Wenn ein Kunde Live-Verkehr senden möchte, muss er sich bei seinem Mobilfunkbetreiber über die Netzwerk-Register.