Maximiza la comodidad del usuario habilitando el uso compartido de credenciales sin interrupciones multiplataforma en tus apps y sitios web. Cuando varios sitios web y apps para Android comparten un de administración de cuentas, esta función permite a los usuarios guardar las credenciales una vez y hacer que se sugieran automáticamente en cualquier sitio web vinculado o app de Android.
Prácticas recomendadas
Para una experiencia del usuario y una seguridad óptimas, implementa el uso compartido de credenciales sin interrupciones en estos puntos de contacto:
- Formulario de acceso: Habilita el llenado automático de credenciales.
- Formulario de registro: Almacena de forma segura credenciales nuevas para usarlas en todas las plataformas.
- Formulario de cambio de contraseña: Sincroniza las actualizaciones de contraseñas en todas las plataformas.
- Formulario de restablecimiento de contraseña: Permite el restablecimiento de contraseñas únicas para actualizar todas las plataformas.
- Dominios de WebView: extiende el uso compartido de credenciales a los dominios de WebView en tu app que controla la administración de cuentas (acceso al host, registro, contraseña formularios de cambio o restablecimiento de contraseñas).
- Apps para Android
Este enfoque crea un sistema de administración de credenciales unificado, lo que mejora la conveniencia y seguridad del usuario.
Cuando diseñes tus sitios web de administración de cuentas, te sugerimos que sigas estas Prácticas recomendadas para los sitios de administración de cuentas:
- Diseña tu formulario de registro de acuerdo con las prácticas recomendadas
- Diseña tu formulario de acceso de acuerdo con las prácticas recomendadas
- Cómo agregar una URL conocida para cambiar contraseñas
Cuando diseñes tus apps para Android, te recomendamos que las integres con el Administrador de credenciales de Android.
Requisitos previos
Antes de configurar un uso compartido de credenciales fluido, asegúrate de tener lo siguiente para cada plataforma:
En cada app para Android:
- El ID de aplicación para Android, como se declara en el archivo
build.gradle
de la app. - Las huellas digitales SHA256 del certificado de firma.
- (Recomendado) Se implementó el acceso de usuarios con la API de Credential Manager.
Para cada sitio web:
- Capacidad de publicar un archivo
/.well-known/assetlinks.json
en cada elemento con la sintaxis de Vínculos de recursos digitales (DAL). - Todos los dominios de administración de cuentas (acceso, registro, cambio de contraseña o contraseña) los formularios de restablecimiento) deben ser accesibles a través de HTTPS.
Habilita el uso compartido de credenciales sin problemas en apps y sitios web para Android
Para configurar el uso compartido de credenciales sin problemas entre apps y sitios web, crea y publicar listas de declaraciones de Vínculos de recursos digitales que declaran cuáles (sitios web o apps para Android) pueden compartir credenciales.
Para declarar una relación de uso compartido de credenciales, sigue estos pasos:
Crea un archivo
assetlinks.json
con sentencias que vinculen al sitio web. a la app para Android con la sintaxis de la lista de instrucciones 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" ] } } ]
Donde
URL
es la URL de tu sitio,APP_ID
es tu ID de aplicación para Android. ySHA_HEX_VALUE
es la huella digital SHA256 de certificado de firma de tu app para Android.El campo
relation
describe la relación que se declara. Para declarar que las apps y los sitios compartan credenciales de acceso, especifica las relaciones comodelegate_permission/common.get_login_creds
Obtén más información sobre Cadenas de relación en DAL.El campo
target
es un objeto que especifica el recurso al que se aplica la declaración.Los siguientes campos identifican un sitio web:
namespace
web
site
La URL del sitio web, en el formato
https://domain[:optional_port
]; por ejemplo, https://www.example.com.domain
debe estar completamente calificado y se debe omitiroptional_port
cuando se usa el puerto 443 para HTTPS.Un destino
site
solo puede ser un dominio raíz: no puedes limitar una asociación de app a un subdirectorio específico. No incluyas una ruta en la URL, como una barra final.No se considera que los subdominios coincidan, es decir, si especificas
domain
como www.example.com, el dominio www.counter.example.com no se asociará con tu app.En los siguientes campos, se identifica una app para Android:
espacio de nombres
android_app
package_name
El nombre de paquete declarado en el manifiesto de la app. Por ejemplo, com.example.android.
sha256_cert_fingerprints
Las huellas digitales SHA256 del certificado de firma de tu app.
Aloje el archivo JSON de Vínculos de recursos digitales en la siguiente ubicación del Dominios de acceso:
https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json
, en el queDOMAIN
está completamente calificadoOPTIONAL_PORT
debe omitirse cuando se usa el puerto 443 para HTTPSDeclara la asociación en la app para Android incorporando una declaración en tu Archivo
res/values/strings.xml
de la app para Android que vincula a la lista de sentencias creada en el paso 1. Agrega un objeto que especifique los archivosassetlinks.json
que se deben de carga de trabajo. Por ejemplo:<string name="asset_statements" translatable="false"> [{ \"include\": \"https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json\" }] </string>
Reemplaza
DOMAIN
yOPTIONAL_PORT
(se debe omitir cuando se use el puerto 443 para HTTPS), por ejemplo,https://www.example.com
. Escapa de los apóstrofos y las comillas que uses en la cadena.También puedes agregar un fragmento JSON en tu archivo
strings.xml
, como se muestra en la documentación de los DAL, pero usar la sentenciainclude
te permite las declaraciones de cambio sin publicar una nueva versión de la app.Haz referencia a la sentencia en el manifiesto agregando la siguiente línea a tu archivo
AndroidManifest.xml
de la app en<application>
:<meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
Publica la nueva versión de tu app para Android para el desarrollador de Google Play Consola
Después de seguir estos pasos, habrás configurado con éxito la credencial sin interrupciones. el uso compartido entre tu sitio web y tu aplicación para Android.
Ten en cuenta que esta no es la única forma válida de configurar los DAL para el uso compartido de credenciales. pero este enfoque simplifica el proceso futuro de agregar nuevas entidades a tu sin inconvenientes, promueve la reutilización de códigos y reduce la posibilidad de errores durante las actualizaciones.