Massimizza la praticità per gli utenti consentendo la condivisione senza problemi delle credenziali su più piattaforme 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 sola volta e di farle suggerire automaticamente su qualsiasi sito web o app per Android collegata.
Best practice
Per un'esperienza utente e una sicurezza ottimali, implementa la condivisione fluida delle credenziali in 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 delle singole 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 unificato di gestione delle credenziali, che migliora la comodità e la sicurezza dell'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:
- Progetta il modulo di registrazione in base alle best practice
- Disegna il modulo di accesso in conformità con le best practice
- Aggiungere un URL noto per la modifica delle password
Quando progetti le tue app per Android, ti consigliamo di integrarle con Gestore delle credenziali Android.
Prerequisiti
Prima di configurare la condivisione delle credenziali senza problemi, assicurati di avere quanto segue per ogni piattaforma:
Per ogni app per Android:
- L'ID applicazione Android, come dichiarato nel file
build.gradle
dell'app. - Le impronte SHA256 del certificato di firma.
- (Consigliato) Accesso utente implementato con l'API Credential Manager.
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 della password o reimpostazione della password) devono essere accessibili tramite HTTPS.
Consentire la condivisione senza interruzioni delle credenziali tra app e siti web Android
Per configurare la condivisione senza interruzioni delle credenziali tra app e siti web, crei e pubblichi elenchi di istruzioni Digital Asset Links che dichiarano quali entità (siti web o app per Android) sono autorizzate a condividere le credenziali.
Per dichiarare una relazione di condivisione delle credenziali:
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 eSHA_HEX_VALUE
è l'impronta SHA256 del certificato di firma della tua app Android.Il campo
relation
descrive la relazione da dichiarare. Per dichiarare che le app e i siti condividono le credenziali di accesso, specifica le relazioni comedelegate_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 eoptional_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 vengono considerati corrispondenti. Ciò significa che se specifichi
domain
come www.example.com, il dominio www.counter.example.com non viene 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.
Ospita il file JSON Digital Asset Links nella seguente posizione sui domini di accesso:
https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json
, doveDOMAIN
è un nome completo eOPTIONAL_PORT
deve essere omesso quando si utilizza la porta 443 per HTTPS.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 specifichi i fileassetlinks.json
da caricare. Ad esempio:<string name="asset_statements" translatable="false"> [{ \"include\": \"https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json\" }] </string>
Sostituisci
DOMAIN
eOPTIONAL_PORT
(devono essere omessi se utilizzi la porta 443 per HTTPS), ad esempiohttps://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 relativa alle DAL, ma l'utilizzo dell'istruzioneinclude
ti consente di modificare le istruzioni senza pubblicare una nuova versione dell'app.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"/>
Pubblica la nuova versione dell'app per Android su Google Play Console
Dopo aver seguito questi passaggi, avrai configurato la condivisione senza problemi delle credenziali 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.