Configura la condivisione delle credenziali tra app e siti web Android senza interruzioni

Massimizza la praticità per gli utenti attivando la condivisione delle credenziali senza problemi tra le tue app e i tuoi siti web. Quando più siti web e app per Android condividono un backend per la gestione dell'account, questa funzionalità consente agli utenti di salvare le credenziali una volta e di farle suggerire automaticamente su qualsiasi sito web o app per Android collegata.

Esistono due metodi supportati per configurare la condivisione delle credenziali:

  • Play Console: consigliato per la maggior parte degli sviluppatori per la configurazione della condivisione delle credenziali con le app per Android. Questo metodo ti consente di configurare la condivisione delle credenziali senza dover rilasciare una nuova versione dell'app. Tieni presente che, anche se utilizzi Play Console, devi comunque pubblicare un file assetlinks.json valido sul tuo sito web.
  • Digital Asset Links (DAL): adatti per casi d'uso avanzati, come supportare più app o domini con configurazioni più complesse.

Best practice

Per un'esperienza utente e una sicurezza ottimali, implementa la condivisione delle credenziali senza interruzioni tra questi touchpoint:

  • Modulo di accesso: attiva la compilazione automatica delle credenziali.
  • Modulo di registrazione: archivia in modo sicuro le nuove credenziali per utilizzarle su più piattaforme.
  • Modulo di modifica della password: sincronizza gli aggiornamenti delle password su tutte le piattaforme.
  • Modulo di reimpostazione della password: consenti la reimpostazione di una singola password per aggiornare tutte le piattaforme.
  • Domini webview: estendi la condivisione delle credenziali ai domini webview all'interno della tua app che gestiscono la gestione dell'account (form di accesso, registrazione, modifica o reimpostazione della password dell'host).
  • App per Android

Questo approccio crea un sistema di gestione delle credenziali unificato, migliorando sia la praticità che la sicurezza per l'utente.

Quando progetti i siti web per la gestione dell'account, ti consigliamo di seguire queste best practice per i siti di gestione dell'account:

Quando progetti le tue app per Android, ti consigliamo di integrarle con Gestore delle credenziali Android.

Configurare la condivisione delle credenziali utilizzando Play Console

Ora puoi attivare la condivisione fluida delle credenziali direttamente da Play Console senza pubblicare una nuova versione della tua app per Android. Questo metodo semplifica la procedura gestendo le configurazioni di condivisione delle credenziali tramite l'interfaccia di Play Console.

Prerequisiti

Prima di configurare la condivisione delle credenziali utilizzando Play Console, assicurati di disporre di:

  • Le autorizzazioni di Play Console necessarie per accedere alle sezioni Link diretti e Configurazione app. Se non sei il proprietario dell'account, chiedi all'amministratore di Play Console di concederti l'accesso appropriato.
  • Possibilità di pubblicare un file /.well-known/assetlinks.json su ogni rispettivo dominio, seguendo la sintassi di Digital Asset Links (DAL).

Attivare la condivisione delle credenziali per un nuovo dominio

Per configurare la condivisione delle credenziali senza problemi in Play Console per un nuovo dominio, segui questi passaggi:

  1. Apri Play Console e vai alla pagina Link diretti (Aumenta gli utenti > Link diretti).
  2. Nella scheda Configurazione app, fai clic su Aggiungi dominio.
  3. Inserisci il dominio del tuo sito web.
  4. Attiva l'opzione Attiva la condivisione delle credenziali.
  5. Copia il file JSON generato e pubblicalo nella posizione specificata (https://YOUR_DOMAIN/.well-known/assetlinks.json in base al protocollo), o aggiungi le informazioni pertinenti al file assetlinks.json esistente.
  6. Fai clic su Crea associazione con sito web.

Se l'operazione riesce, tornerai alla pagina Link diretti.

Attivare la condivisione delle credenziali per un dominio esistente

Per configurare la condivisione delle credenziali senza problemi in Play Console per un dominio esistente: volgi i seguenti passaggi:

  1. Seleziona la scheda Configurazione app.
  2. Nella sezione Domini, fai clic su Attiva nella colonna Condivisione delle credenziali in Configurazione app.
  3. Copia il file JSON generato e pubblicalo nella posizione specificata (o aggiungi le informazioni pertinenti al file assetlinks.json esistente).
  4. Fai clic su Attiva la condivisione delle credenziali.

Se l'operazione riesce, tornerai alla pagina Link diretti.

Configurare la condivisione delle credenziali utilizzando solo i link ai asset digitali (DAL)

Per configurazioni complesse che coinvolgono più app o siti web, utilizza i link ai asset digitali (DAL) per configurare manualmente la condivisione delle credenziali.

Prerequisiti

Prima di configurare la condivisione delle credenziali senza problemi, assicurati di avere quanto segue per ogni piattaforma:

Per ogni app per Android:

Per ogni sito web:

  • Possibilità di pubblicare un file /.well-known/assetlinks.json su ciascun rispettivo dominio, seguendo la sintassi di Digital Asset Links (DAL).
  • Tutti i domini di gestione dell'account (form di accesso, registrazione, modifica o reimpostazione della password) devono essere accessibili tramite HTTPS.

Attivare la condivisione delle credenziali senza problemi tra app e siti web Android

Per configurare la condivisione delle credenziali senza problemi tra app e siti web, crei e pubblichi elenchi di dichiarazioni di link di asset digitali che dichiarano quali entità (siti web o app per Android) sono autorizzate a condividere le credenziali.

Per dichiarare una relazione di condivisione delle credenziali:

  1. Crea un file assetlinks.json con istruzioni che rimandano al sito web e all'app per Android, seguendo la sintassi dell'elenco di istruzioni DAL:

    [
      {
        "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"
          ]
        }
      }
    ]
    

    dove URL è l'URL del tuo sito, APP_ID è il tuo ID applicazione Android e SHA_HEX_VALUE è l'impronta SHA256 del certificato di firma della tua app Android.

    Il campo relation descrive la relazione dichiarata. Per dichiarare che le app e i siti condividono le credenziali di accesso, specifica le relazioni come delegate_permission/common.get_login_creds. Scopri di più sulle stringhe di relazione nelle DAL.

    Il campo target è un oggetto che specifica la risorsa a cui si applica la dichiarazione.

    I seguenti campi identificano un sito web:

    namespace

    web

    site

    L'URL del sito web, nel formato https://domain[:optional_port]; ad esempio, https://www.example.com.

    domain deve essere un nome completo e optional_port deve essere omesso quando si utilizza la porta 443 per HTTPS.

    Un target site può essere solo un dominio principale: non puoi limitare l'associazione di un'app a una sottodirectory specifica. Non includere un percorso nell'URL, ad esempio una barra finale.

    I sottodomini non sono considerati corrispondenti: in altre parole, se specifichi domain come www.example.com, il dominio www.counter.example.com non è associato alla tua app.

    I seguenti campi identificano un'app per Android:

    spazio dei nomi

    android_app

    package_name

    Il nome del pacchetto dichiarato nel file manifest dell'app. Ad esempio, com.example.android

    sha256_cert_fingerprints

    Le impronte SHA256 del certificato di firma della tua app.

  2. Ospita il file JSON Digital Asset Links nella seguente posizione sui domini di accesso: https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json , dove DOMAIN è un nome completo e OPTIONAL_PORT deve essere omesso quando si utilizza la porta 443 per HTTPS.

  3. Dichiara l'associazione nell'app per Android incorporando un'istruzione nel file res/values/strings.xml dell'app per Android che rimanda all'elenco di istruzioni creato nel passaggio 1. Aggiungi un oggetto che specifica i file assetlinks.json da caricare. Ad esempio:

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

    Sostituisci DOMAIN e OPTIONAL_PORT (devono essere omessi se utilizzi la porta 443 per HTTPS), ad esempio https://www.example.com. Utilizza il carattere di escape per gli apici e le virgolette utilizzati nella stringa.

    Puoi anche aggiungere uno snippet JSON nel file strings.xml come mostrato nella documentazione dei DAL, ma l'utilizzo dell'istruzione include ti consente di modificare le istruzioni senza pubblicare una nuova versione dell'app.

  4. Fai riferimento all'istruzione nel file manifest aggiungendo la seguente riga al file AndroidManifest.xml dell'app in <application>:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
    
  5. Pubblica la nuova versione dell'app per Android su Google Play Console

Dopo aver seguito questi passaggi, avrai configurato correttamente la condivisione delle credenziali senza problemi tra il tuo sito web e la tua app per Android.

Tieni presente che questo non è l'unico modo valido per configurare i DAL per la condivisione delle credenziali, ma questo approccio semplifica la procedura futura di aggiunta di nuove entità alla tua rete di condivisione delle credenziali senza interruzioni, promuove la riutilizzabilità del codice e riduce il potenziale di errori durante gli aggiornamenti.