Skip to main content
Para evitar pedirle al usuario que introduzca la contraseña de un solo uso enviada para la autenticación en aplicaciones Android, incorporamos la posibilidad de enviar un enlace que el usuario puede tocar para iniciar sesión sin tener que introducir nada manualmente. Estos enlaces incluyen el mismo code que se usaría en el flujo tradicional sin contraseña, pero, con la configuración correcta, se abrirán directamente en su aplicación.

Configuración en Auth0 Dashboard

Ve a la configuración de tu aplicación y haz clic en Show Advanced Settings al final de la página. Luego, en la pestaña “Device Settings”, deberás proporcionar tanto el nombre del paquete de la aplicación de Android como el hash de clave del certificado.
  • Nombre del paquete de la aplicación: Este es el nombre del paquete, tal como se declara en el manifiesto de la aplicación. También está disponible en el archivo app/build.gradle como el atributo applicationId. Si ambos valores no coinciden, usa el de applicationId. Un ejemplo sería com.example.android.myapp
  • Hashes de clave: Son las huellas digitales SHA256 de los certificados de firma de la aplicación Android. Puedes incluir varias separándolas con comas. Aquí puedes especificar tanto las huellas digitales del almacén de claves de producción como las del de depuración. En la siguiente sección se explica cómo obtenerlas. Un ejemplo sería DE:1A:5B:75:27:AA:48:D5:A6:72:2F:76:43:95:9B:79:C6:86:1A:5B:75:27:AA:48:D5:A6:73:FE.
Después de establecer los valores, asegúrate de hacer clic en Save Changes.

Cómo obtener la huella digital de sus certificados de firma

Use el siguiente comando para generar la huella digital con la CLI keytool de Java: keytool -list -v -keystore my-release-key.keystore o bien obtenga la clave de depuración predeterminada: keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android El valor que requiere el Dashboard es el que aparece como “SHA256”. Puede obtener más información sobre los keystores en este artículo oficial.

Habilita la conexión de correo electrónico

La autenticación sin contraseña con Magic Link solo funciona con la conexión sin contraseña de tipo “email”. Ve a Dashboard > Authentication para las conexiones sin contraseña y haz clic en Email. Se abrirá una ventana emergente y la plantilla de correo electrónico HTML + Liquid quedará habilitada para su edición. Verifica que el cuerpo contenga una condición como esta:
{% if send == 'link' or send == 'link_ios' or send == 'link_android' %}
Your verification link is: {{ link }}
{% elsif send == 'code' %}
Your verification code is: {{ code }}
{% endif %}

Configuración del SDK

Ahora que la aplicación de Auth0 está configurada, siga las instrucciones para configurar PasswordlessLock con Lock.Android, como se muestra en la documentación de Passwordless.

Uso del SDK

Lock Passwordless autentica a los usuarios enviándoles un correo electrónico con una contraseña de un solo uso que, en este caso, será un ENLACE en lugar de un code. Si has seguido la guía de Passwordless Classic, solo tienes que quitar la llamada a useCode() y reemplazarla por useLink(). Por último, inicia el widget PasswordlessLock desde tu actividad.
startActivity(lock.newIntent(this))
Después de solicitar el LINK, la siguiente pantalla indicará que, para iniciar sesión, el usuario debe tocarlo. En caso de que esto no sea posible, el usuario aún puede introducir el code que aparecerá después de hacer clic en el enlace del correo electrónico recibido. La biblioteca Lock está lista para usarse con App Links. Esta función está disponible en Android 6.0 (nivel de API 23) y versiones posteriores, y permite que una aplicación se designe como el controlador predeterminado para un determinado tipo de enlace, sin mostrar el cuadro de diálogo de desambiguación que le pregunta al usuario si desea usar el navegador o la aplicación para abrir el enlace. Esto funciona siempre que el usuario no haya elegido ya una aplicación predeterminada para gestionar ese patrón de URI en la configuración del dispositivo Android. La gestión automática de enlaces requiere la cooperación entre su aplicación y el sitio web de Auth0. La aplicación debe declarar la asociación con el sitio web y solicitar que el sistema la verifique. A su vez, el sitio web debe proporcionar esa verificación publicando un archivo de Digital Asset Links. Auth0 generará automáticamente el archivo de Digital Asset Links cuando configure el nombre del paquete de la aplicación y el hash de la clave como se mostró anteriormente. Si ha seguido todos los pasos de este artículo, el archivo debería estar disponible y se verificará la próxima vez que se instale la aplicación de Android. Puede encontrar más información sobre App Links en la documentación de Android.