Nahtlose Freigabe von Anmeldedaten für Android-Apps und -Websites einrichten

Sorgen Sie für mehr Komfort für die Nutzer, indem Sie die plattformübergreifende, nahtlose Freigabe von Anmeldedaten für Ihre Apps und Websites aktivieren. Wenn mehrere Websites und Android-Apps ein gemeinsames Backend für die Kontoverwaltung nutzen, können Nutzer mit dieser Funktion Anmeldedaten einmal speichern und sie sich dann auf jeder verknüpften Website oder in jeder verknüpften Android-App automatisch vorschlagen lassen.

Best Practices

Für eine optimale Nutzererfahrung und Sicherheit sollten Sie die Anmeldedaten an folgenden Stellen nahtlos teilen:

  • Anmeldeformular: Aktivieren Sie das automatische Ausfüllen von Anmeldedaten.
  • Registrierungsformular: Neue Anmeldedaten werden sicher für die plattformübergreifende Verwendung gespeichert.
  • Formular zum Ändern des Passworts: Passwörter lassen sich auf allen Plattformen synchronisieren.
  • Formular zum Zurücksetzen des Passworts: Erlaube das Zurücksetzen des Passworts für alle Plattformen.
  • Webview-Domains: Sie können die Freigabe von Anmeldedaten auf Webview-Domains in Ihrer App ausweiten, die für die Kontoverwaltung zuständig sind (Formulare für die Anmeldung, Registrierung, Passwortänderung oder Passwortrücksetzung).
  • Android-Apps

Dieser Ansatz schafft ein einheitliches Anmeldedatenverwaltungssystem, das sowohl die Nutzerfreundlichkeit als auch die Sicherheit verbessert.

Wir empfehlen Ihnen, beim Entwerfen Ihrer Websites für die Kontoverwaltung die folgenden Best Practices zu beachten:

Wir empfehlen Ihnen, Ihre Android-Apps in den Android-Anmeldedaten-Manager einzubinden.

Voraussetzungen

Bevor Sie die nahtlose Weitergabe von Anmeldedaten einrichten, müssen Sie für jede Plattform Folgendes haben:

Für jede Android-App:

Für jede Website:

  • Möglichkeit, eine /.well-known/assetlinks.json-Datei in jeder Domain gemäß der Syntax für Digital Asset Links (DALs) zu veröffentlichen.
  • Auf alle Domains für die Kontoverwaltung (Anmelde-, Registrierungs-, Passwortänderungs- oder Passwortrücksetzungsformulare) muss über HTTPS zugegriffen werden können.

Nahtlose Freigabe von Anmeldedaten für Android-Apps und Websites aktivieren

Wenn Sie die nahtlose Freigabe von Anmeldedaten über Apps und Websites hinweg konfigurieren möchten, erstellen und veröffentlichen Sie Listen mit Erklärungen zu Digital Asset Links, in denen angegeben ist, welche Entitäten (Websites oder Android-Apps) Anmeldedaten freigeben dürfen.

So deklarieren Sie eine Beziehung zur Freigabe von Anmeldedaten:

  1. Erstellen Sie eine assetlinks.json-Datei mit Anweisungen, die zur Website und zur Android-App verlinken. Verwenden Sie dabei die Syntax für DALs-Anweisungslisten:

    [
      {
        "relation":[
          "delegate_permission/common.get_login_creds"
        ],
        "target":{
          "namespace":"web",
          "site":URL
        }
      },
      {
        "relation":[
          "delegate_permission/common.get_login_creds"
        ],
        "target":{
          "namespace":"android_app",
          "package_name":"APP_ID",
          "sha256_cert_fingerprints":[
            "SHA_HEX_VALUE"
          ]
        }
      }
    ]
    

    Dabei ist URL die URL Ihrer Website, APP_ID Ihre Android-Anwendungs-ID und SHA_HEX_VALUE der SHA256-Fingerabdruck Ihres Signaturzertifikats für Ihre Android-App.

    Im Feld relation wird die deklarierte Beziehung beschrieben. Wenn Sie angeben möchten, dass Apps und Websites Anmeldedaten gemeinsam nutzen, geben Sie die Beziehungen als delegate_permission/common.get_login_creds an. Weitere Informationen zu Beziehungsstrings in DALs

    Das Feld target ist ein Objekt, das das Asset angibt, auf das sich die Erklärung bezieht.

    Die folgenden Felder identifizieren eine Website:

    namespace

    web

    site

    Die URL der Website im Format https://domain[:optional_port]; z. B. https://www.beispiel.de.

    domain muss voll qualifiziert sein und optional_port muss weggelassen werden, wenn Port 443 für HTTPS verwendet wird.

    Ein site-Ziel kann nur eine Stammdomain sein. Sie können eine App-Verknüpfung nicht auf ein bestimmtes Unterverzeichnis beschränken. Die URL darf keinen Pfad enthalten, z. B. keinen abschließenden Schrägstrich.

    Subdomains werden nicht als übereinstimmend betrachtet. Wenn Sie also domain als www.beispiel.de angeben, wird die Domain www.counter.beispiel.de nicht mit Ihrer App verknüpft.

    Die folgenden Felder identifizieren eine Android-App:

    Namespace

    android_app

    package_name

    Der im Manifest der App angegebene Paketname. Beispiel: com.beispiel.android

    sha256_cert_fingerprints

    Die SHA256-Fingerabdrücke des Signaturzertifikats Ihrer App.

  2. Hoste die Digital Asset Links-JSON-Datei an folgendem Ort auf den Anmeldedomains: https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json, wobei DOMAIN vollständig qualifiziert ist und OPTIONAL_PORT bei Verwendung von Port 443 für HTTPS weggelassen werden muss.

  3. Deklariere die Verknüpfung in der Android-App, indem du in die Datei res/values/strings.xml deiner Android-App eine Anweisung einbettest, die mit der in Schritt 1 erstellten Liste der Erklärungen verlinkt ist. Fügen Sie ein Objekt hinzu, das die zu ladenden assetlinks.json-Dateien angibt. Beispiel:

      <string name="asset_statements" translatable="false">
    [{
      \"include\": \"https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json\"
    }]
    </string>
    

    Ersetzen Sie DOMAIN und OPTIONAL_PORT (müssen bei Verwendung von Port 443 für HTTPS weggelassen werden), z. B. durch https://www.example.com. Entfernen Sie die Apostrophe und Anführungszeichen, die Sie im String verwenden.

    Sie können auch wie in der DAL-Dokumentation beschrieben ein JSON-Snippet in Ihre strings.xml-Datei einfügen. Mit der include-Anweisung können Sie jedoch Anweisungen ohne Veröffentlichung einer neuen Version Ihrer App ändern.

  4. Verweise auf die Erklärung im Manifest, indem du der Datei AndroidManifest.xml deiner App unter <application> die folgende Zeile hinzufügst:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
    
  5. Neue Version Ihrer Android-App in der Google Play Console veröffentlichen

Nachdem Sie diese Schritte ausgeführt haben, haben Sie die nahtlose Freigabe von Anmeldedaten zwischen Ihrer Website und Ihrer Android-App erfolgreich eingerichtet.

Dies ist nicht die einzige gültige Methode zum Einrichten von Datenablagen für die Freigabe von Anmeldedaten. Mit diesem Ansatz wird jedoch der zukünftige Prozess zum Hinzufügen neuer Entitäten zu Ihrem nahtlosen Netzwerk für die Freigabe von Anmeldedaten vereinfacht, die Wiederverwendbarkeit von Code gefördert und das Risiko von Fehlern bei Updates reduziert.