2016-04-06 10 views
1

Ich implementiere Googles Smart Lock für Passwörter auf Android-Dienst auf einer Android-App und während die bereitgestellten API gibt Ihnen die Möglichkeit, gespeicherte Anmeldeinformationen abrufen, neue Anmeldeinformationen speichern, mehrere Anmeldeinformationen speichern und löschen Anmeldeinformationen, bietet es effektiv keine Möglichkeit, alle gespeicherten Anmeldeinformationen für eine bestimmte Anwendung zu löschen. Es gibt nicht nur keine direkte API, um alle Anmeldeinformationen zu löschen, sondern es gibt keine programmatische Möglichkeit, alle Anmeldeinformationen aufzulisten, um sie einzeln zu löschen.Löschen Sie alle Smart Lock Password Credentials von App

Während der Benutzer sich direkt in seinem Google-Konto anmelden kann, um die gespeicherten Passwörter direkt zu löschen, passt dies nicht in einen vernünftigen Benutzerinteraktionsfluss. Die einzige andere Idee, die ich mir vorstellen kann, besteht darin, den Benutzer mit der Liste der Anmeldeinformationen zu beauftragen, den Benutzer einzeln auswählen zu lassen und dann die ausgewählten Anmeldeinformationen zu löschen, was auch für die Benutzer sehr unhandlich und verwirrend erscheint .

Ich habe versucht, die "offensichtliche" Lösung der Übergabe einer Null-Anmeldedaten an die .delete() API oder Erstellen einer Berechtigung mit einem Null-Bezeichner.

Gibt es eine bekannte Methode, die nicht zu einer wirklich schrecklichen UI-Erfahrung des Benutzers führt?

+0

Ich bin der Produktmanager für Smart Lock bei Google, können Sie weitere Details zu dem Kontext geben, in dem ein Benutzer alle Anmeldeinformationen löschen möchte (abgesehen von Tests während der Entwicklung). In der Praxis stellten wir fest, dass die meisten Benutzer nur über ein Konto für Dienste von Drittanbietern verfügen. Da sie sich dazu entschieden haben, die Anmeldeinformationen zu speichern, ist es selten, dass sie sie löschen möchten. Daher ist der Fluss nicht für Massenlöschung optimiert. –

+0

Ich werde zugeben, dass dies für Randfälle ist. Das Testen der Integration von Google-Diensten ist kompliziert genug, ohne dass ich meine Kontoeinstellungen durchsuchen muss, um gespeicherte Anmeldeinformationen zu löschen. Für unsere Benutzer teilen sie sich (leider) manchmal Geräte und loggen sich nicht richtig aus. Wir haben auch Benutzer, die (glauben Sie es oder nicht) sich mit einem falsch geschriebenen Benutzernamen anmelden und dann einen zweiten Account erstellen, aber niemals den ersten verwenden werden. Edge-Cases sind per Definition ungewöhnlich, aber ihre Verwaltung ist der Schlüssel zu einem ausgefeilten, benutzerfreundlichen Produkt. Entwicklerfreundliche APIs sind ebenfalls wichtig. Vielen Dank! –

+0

Fair-Punkte. Eine einfache Methode zum Testen des Löschens von Anmeldeinformationen finden Sie unter passwords.google.com (erfordert die erneute Eingabe des Kontopassworts) oder navigieren Sie zum Abschnitt "Smart Lock/Passwörter" der Chrome-Einstellungen (die Synchronisierung dauert jedoch ein oder zwei Minuten). Überprüfen Sie auch die API, um den Namen und die E-Mail-Adresse des Nutzers automatisch einzugeben, um Tippfehler zu vermeiden und die Anmeldung an erster Stelle zu erleichtern: https://developers.google.com/identity/smartlock-passwords/android/retrieve-hints. .. und wenn der Benutzer einen Berechtigungsnachweis als ungültig auswählt, können Sie ihn löschen und sicherstellen, dass die Berechtigungsnachweise gültig sind, bevor Sie angeboten werden, sie zu speichern. –

Antwort

2

Es gibt keine Möglichkeit über die API, alle Anmeldeinformationen programmgesteuert zu löschen, da dies keine typische Benutzeraktion ist (und es ist ein bisschen gefährlich, alle Benutzerdaten zu löschen, würde wahrscheinlich eine UI bestätigen oder rückgängig machen usw.))

Aber wie in den Kommentaren erwähnt, könnte es beim Testen kommen, so einfachste Empfehlung ist es, alle gespeicherten Anmeldeinformationen bei https://passwords.google.com oder chrome: // Einstellungen/Passwörter löschen (aber es dauert eine Minute oder zwei für die ändert sich, um mit dem Gerät zu synchronisieren).

Wenn Sie mehr Feedback zu einer Benutzerinteraktion haben, die diese Funktionalität in der API erfordern würde, hinterlassen Sie bitte einen Kommentar!