Maximiza la comodidad del usuario habilitando el uso compartido fluido de credenciales entre tus apps y sitios web. Cuando varios sitios web y apps para Android comparten un backend de administración de cuentas, esta función permite a los usuarios guardar las credenciales una vez y que se sugieran automáticamente en cualquier sitio web o app para Android vinculados.
Existen dos métodos compatibles para configurar el uso compartido de credenciales:
- Play Console: Se recomienda para la mayoría de los desarrolladores cuando se configura el uso compartido de credenciales con apps para Android. Este método te permite configurar el uso compartido de credenciales sin necesidad de lanzar una versión nueva de tu app. Ten en cuenta que, incluso cuando usas Play Console, debes publicar un archivo
assetlinks.json
válido en tu sitio web. - Vínculos de recursos digitales (DAL): Adecuados para casos de uso avanzados, como la compatibilidad con varias apps o dominios con configuraciones más complejas.
Prácticas recomendadas
Para obtener una experiencia del usuario y una seguridad óptimas, implementa el uso compartido de credenciales sin problemas en estos puntos de contacto:
- Formulario de acceso: Habilita el llenado automático de credenciales.
- Formulario de registro: Almacena de forma segura las 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 que los restablecimientos de contraseña única se actualicen en todas las plataformas.
- Dominios de WebView: Extiende el uso compartido de credenciales a los dominios de WebView dentro de tu app que controlan la administración de cuentas (formularios de acceso, registro, cambio de contraseña o restablecimiento de contraseña del host).
- Apps para Android
Este enfoque crea un sistema unificado de administración de credenciales, lo que mejora la comodidad y la seguridad del usuario.
Cuando diseñes tus sitios web de administración de cuentas, te sugerimos que sigas estas prácticas recomendadas para 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.
Configura el uso compartido de credenciales con Play Console
Ahora puedes habilitar el uso compartido de credenciales directo desde Play Console sin publicar una versión nueva de tu app para Android. Este método simplifica el proceso, ya que administra las configuraciones de uso compartido de credenciales a través de la interfaz de Play Console.
Requisitos previos
Antes de configurar el uso compartido de credenciales con Play Console, asegúrate de tener lo siguiente:
- Los permisos de Play Console necesarios para acceder a las secciones Vínculos directos y Configuración de la app Si no eres el propietario de la cuenta, pídele al administrador de Play Console que te otorgue el acceso adecuado.
- Capacidad para publicar un archivo
/.well-known/assetlinks.json
en cada dominio correspondiente, siguiendo la sintaxis de los Vínculos de recursos digitales (DAL)
Habilita el uso compartido de credenciales para un dominio nuevo
Para configurar el uso compartido de credenciales eficiente en Play Console para un dominio nuevo, sigue estos pasos:
- Abre Play Console y ve a la página Vínculos directos (Aumentar la cantidad de usuarios > Vínculos directos).
- En la pestaña Configuración de la app, haz clic en Agregar dominio.
- Ingresa el dominio de tu sitio web.
- Activa el botón de activación Habilitar el uso compartido de credenciales.
- Copia el archivo JSON generado y publícalo en la ubicación especificada (
https://YOUR_DOMAIN/.well-known/assetlinks.json
según el protocolo) o agrega la información relevante al archivo assetlinks.json existente. - Haz clic en Crear asociación con el sitio web.
Si se realiza correctamente, volverás a la página Vínculos directos.
Habilita el uso compartido de credenciales para un dominio existente
Para configurar el uso compartido de credenciales eficiente en Play Console para un dominio existente, sigue estos pasos:
- Selecciona la pestaña Configuración de la app.
- En la sección Dominios, en Configuración de la app, haz clic en Activar en la columna Uso compartido de credenciales.
- Copia el archivo JSON generado y publícalo en la ubicación especificada (o agrega la información relevante al archivo
assetlinks.json
existente). - Haz clic en Activar el uso compartido de credenciales.
Si se realiza correctamente, volverás a la página Vínculos directos.
Configura el uso compartido de credenciales solo con Vínculos de recursos digitales (DAL)
Para configuraciones complejas que involucran varias apps o sitios web, usa los vínculos de recursos digitales (DAL) para configurar el uso compartido de credenciales de forma manual.
Requisitos previos
Antes de configurar el uso compartido de credenciales eficiente, asegúrate de tener lo siguiente para cada plataforma:
Para cada app para Android, haz lo siguiente:
- El ID de aplicación de Android, como se declara en el archivo
build.gradle
de la app. - Las huellas digitales SHA256 del certificado de firma.
- Acceso del usuario implementado con la API de Credential Manager (recomendado).
Para cada sitio web, sigue estos pasos:
- Capacidad para publicar un archivo
/.well-known/assetlinks.json
en cada dominio correspondiente, siguiendo la sintaxis de los Vínculos de recursos digitales (DAL) - Se debe poder acceder a todos los dominios de administración de cuentas (formularios de acceso, registro, cambio de contraseña o restablecimiento de contraseña) a través de HTTPS.
Habilita el uso compartido fluido de credenciales entre apps y sitios web para Android
Para configurar el uso compartido de credenciales sin problemas entre apps y sitios web, crea y publica listas de declaraciones de Vínculos de recursos digitales que declaren qué entidades (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 instrucciones que vinculen al sitio web y a la app para Android, siguiendo la sintaxis de la lista de instrucciones de 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 tu certificado de firma de la app para Android.El campo
relation
describe la relación que se declara. Para declarar que las apps y los sitios comparten credenciales de acceso, especifica las relaciones comodelegate_permission/common.get_login_creds
. Obtén más información sobre las cadenas de relaciones en las 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 estará asociado a 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.
Aloja el archivo JSON de Vínculos de recursos digitales en la siguiente ubicación de los dominios de acceso:
https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json
, dondeDOMAIN
está completamente calificado y se debe omitirOPTIONAL_PORT
cuando se usa el puerto 443 para HTTPS.Para declarar la asociación en la app para Android, incorpora una sentencia en el archivo
res/values/strings.xml
de la app para Android que vincule a la lista de sentencias que creaste en el paso 1. Agrega un objeto que especifique los archivosassetlinks.json
que se cargarán. Por ejemplo:<string name="asset_statements" translatable="false"> [{ \"include\": \"https://
DOMAIN [:OPTIONAL_PORT ]/.well-known/assetlinks.json\" }] </string>Reemplaza
DOMAIN
yOPTIONAL_PORT
(se deben omitir cuando se usa el puerto 443 para HTTPS), por ejemplo,https://www.example.com
. Escapa cualquier apóstrofo y comillas que uses en la cadena.También puedes agregar un fragmento JSON a tu archivo
strings.xml
, como se muestra en la documentación de DAL, pero usar la sentenciainclude
te permite cambiar las sentencias sin publicar una versión nueva de tu app.Para hacer referencia a la sentencia en el manifiesto, agrega la siguiente línea al 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 en Google Play Console
Después de seguir estos pasos, configuraste correctamente el uso compartido fluido de credenciales entre tu sitio web y tu app para Android.
Ten en cuenta que esta no es la única forma válida de configurar DAL para el uso compartido de credenciales, pero este enfoque simplifica el proceso futuro de agregar entidades nuevas a tu red de uso compartido de credenciales sin problemas, promueve la reutilización del código y reduce el potencial de errores durante las actualizaciones.