Usa IA para integrar Auth0
Usa IA para integrar Auth0
Si usas un asistente de programación con IA como Claude Code, Cursor o GitHub Copilot, puedes añadir la autenticación de Auth0 automáticamente en minutos usando agent skills.Instala:Después, pídele a tu asistente de IA:Tu asistente de IA creará automáticamente tu aplicación de Auth0, obtendrá las credenciales, añadirá la dependencia del SDK de Auth0 para Android, configurará los marcadores de posición del manifiesto e implementará los flujos de inicio y cierre de sesión. Documentación completa de agent skills →
Primeros pasos
Crear un proyecto nuevo de Android
Crea un nuevo proyecto de Android para esta guía de inicio rápido.En Android Studio:
- File → New → New Project
- Selecciona la plantilla Phone and Tablet → Empty Activity
- Configura el proyecto:
- Name:
Auth0-Android-Sample - Package name:
com.auth0.samples.android - Language: Kotlin
- Minimum SDK: API 24 (Android 7.0)
- Build configuration language: Kotlin DSL
- Name:
- Haz clic en Finish
Añade el SDK de Auth0 con Gradle
Añade el SDK de Auth0 para Android a tu proyecto con Gradle.Actualiza el archivo Agrega los marcadores de posición del manifiesto en el Añade el permiso de acceso a Internet a
build.gradle.kts de tu aplicación:app/build.gradle.kts
build.gradle.kts de tu aplicación:app/build.gradle.kts
AndroidManifest.xml:app/src/main/AndroidManifest.xml
Configura tu aplicación de Auth0
A continuación, debes crear una nueva aplicación en tu tenant de Auth0 y añadir la configuración a tu proyecto Android.Primero, prepara el archivo URL de cierre de sesión permitidas:Sustituye
app/src/main/res/values/strings.xml con valores de marcador de posición:app/src/main/res/values/strings.xml
- Ve al Auth0 Dashboard
- Haz clic en Applications > Applications > Create Application
- En la ventana emergente, introduce un nombre para tu aplicación, selecciona
Nativecomo tipo de aplicación y haz clic en Create - Ve a la pestaña Settings en la página de detalles de la aplicación
- Sustituye
{yourDomain}yYOUR_AUTH0_CLIENT_IDen el archivostrings.xmlpor los valores de Domain y Client ID del panel
{yourDomain} por tu dominio real de Auth0 (por ejemplo, dev-abc123.us.auth0.com).Las Allowed Callback URLs son una medida de seguridad fundamental para garantizar que, tras la autenticación, los usuarios vuelvan de forma segura a tu aplicación. Si no hay una URL que coincida, el proceso de inicio de sesión fallará y los usuarios verán una página de error de Auth0 en lugar de acceder a tu aplicación.Las Allowed Logout URLs son esenciales para ofrecer una experiencia fluida al cerrar sesión. Si no hay una URL que coincida, los usuarios no serán redirigidos de vuelta a tu aplicación al cerrar sesión y, en su lugar, permanecerán en una página genérica de Auth0.El esquema de la URL incluye el nombre de tu paquete (
com.auth0.samples.android) para garantizar que el callback se dirija a tu aplicación concreta.Inicializar el SDK de Auth0
Crea una instancia de Auth0 en tu Activity para poder comunicarte con Auth0.En tu
MainActivity.kt:MainActivity.kt
Implementar el inicio y el cierre de sesión
Implementa el inicio de sesión: Usa WebAuthProvider para abrir la página universal de inicio de sesión.Agrega estos métodos a tu Implementa el cierre de sesión: Usa WebAuthProvider para cerrar la sesión del usuario.
MainActivity:- Callback de Kotlin
- Corrutina
MainActivity.kt
- Callback de Kotlin
- Corrutina
MainActivity.kt
Los métodos
login() y logout() deben llamarse cuando el usuario pulse los botones correspondientes en tu interfaz. El código usa this (en referencia a la Activity) como parámetro de contexto, lo cual es necesario para que WebAuthProvider abra Chrome Custom Tabs y gestione el flujo de autenticación.Ejecuta tu aplicación
Compila y ejecuta tu aplicación para Android.En Android Studio:Flujo esperado:
- La app se abre con el botón “Iniciar sesión” y el ícono de escudo
- Toca “Iniciar sesión” → se abre una pestaña personalizada de Chrome → completa el inicio de sesión
- Vuelve a la app automáticamente
- ¡Éxito!
Punto de controlAhora deberías tener una experiencia de inicio de sesión con Auth0 totalmente funcional ejecutándose en tu dispositivo Android o emulador. La aplicación usa Chrome Custom Tabs para ofrecer una autenticación segura y almacena automáticamente las credenciales.
Solución de problemas y opciones avanzadas
Problemas comunes y soluciones
Problemas comunes y soluciones
Chrome Custom Tab no redirige de vuelta a la app
Soluciones:- Comprueba que las Allowed Callback URLs del Auth0 Dashboard coincidan exactamente con tu
applicationId - Verifica que los marcadores de posición del manifiesto en
build.gradle.ktssean correctos - Asegúrate de tener configuradas tanto las URL
httpscomo las URL con esquema personalizado - Limpia y recompila: Build → Clean Project → Rebuild Project
La app se cierra: ‘Auth0 domain not found’
Solución:- Comprueba que los valores de
com_auth0_domainycom_auth0_client_idsean correctos - Asegúrate de que no haya errores tipográficos en el formato del dominio (no debe incluir
https://)
Errores de compilación con dependencias
Solución:- Actualiza a la versión más reciente del Android Gradle Plugin en
build.gradle(nivel de proyecto) - Sincroniza el proyecto: File → Sync Project with Gradle Files
- Limpia la compilación:
./gradlew clean build
Autenticación cancelada por el usuario
Manéjalo correctamente en tu callback de error:Error de navegador no compatible
- Instala Chrome u otro navegador moderno en tu dispositivo o emulador
- Habilita Chrome Custom Tabs para mejorar la experiencia de usuario
- Haz pruebas en un dispositivo real con Chrome instalado
Configurar Android App Links
Configurar Android App Links
Android App Links permiten que tu app se establezca como el controlador predeterminado para las URL de callback de Auth0, lo que proporciona una experiencia de autenticación más segura y fluida. Sin App Links, Android puede mostrar un cuadro de diálogo de desambiguación para que el usuario elija entre tu app y un navegador.Copia el valor de la huella digital SHA256 de la salida.Deberías ver una respuesta JSON que contiene el nombre de tu paquete y la huella digital del certificado:Para obtener más información, consulta la documentación de Enable Android App Links Support y la guía de Android Verify App Links.
App Links usa callbacks verificados con el esquema
https. Esto es más seguro que los esquemas de URL personalizados, que pueden estar sujetos a ataques de suplantación de cliente.Obtén la huella digital de tu certificado de firma
Necesitas la huella digital SHA256 del certificado de firma de tu app. Ejecuta el siguiente comando en tu terminal:Configurar en el Auth0 Dashboard
- Ve a Auth0 Dashboard > Applications > Applications y selecciona tu aplicación
- Desplázate hasta la parte inferior de la página Settings y selecciona Show Advanced Settings
- Selecciona la pestaña Device Settings
- En Android, proporciona:
- App Package Name: Tu
applicationId(por ejemplo,com.auth0.samples.android) - SHA256 Cert Fingerprints: La huella digital que copiaste antes
- App Package Name: Tu
- Haz clic en Save Changes
Verifica la configuración
Auth0 genera automáticamente el archivoassetlinks.json que Android usa para verificar tu app. Pruébalo navegando a:La guía de inicio rápido ya usa
https como esquema en los marcadores de posición del manifiesto y en las llamadas a WebAuthProvider, lo cual es necesario para App Links. No hace falta cambiar el código si seguiste los pasos anteriores.Usa un esquema de URL personalizado
Usa un esquema de URL personalizado
Si no puedes usar Android App Links (por ejemplo, si trabajas con versiones de la API de Android anteriores a la 23), puedes configurar un esquema de URL personalizado en su lugar.
- Actualiza el marcador de posición del manifiesto
auth0Schemeen tuapp/build.gradle.kts:
app/build.gradle.kts
- Actualiza las Allowed Callback URLs y Allowed Logout URLs en la configuración de tu aplicación en el Auth0 Dashboard para usar el esquema personalizado:
- Pasa el esquema personalizado al llamar a
WebAuthProvider:
MainActivity.kt
Los esquemas personalizados solo pueden contener letras minúsculas.
Despliegue en producción
Despliegue en producción
Preparación para la tienda de aplicaciones
- Configura Android App Links para una autenticación sin fricciones
- Haz pruebas en varias versiones de Android y tamaños de pantalla
- Implementa un manejo adecuado de errores para fallos de red
- Añade reglas de ProGuard para el SDK de Auth0 si usas ofuscación de código
- Sigue las políticas de Google Play Store para los flujos de autenticación
Consideraciones de seguridad
- Usa
SecureCredentialsManagerpara almacenar credenciales en producción - Implementa certificate pinning para reforzar la seguridad de la API
- Considera usar Android Keystore para una mayor protección de las credenciales
- Habilita la autenticación biométrica para operaciones sensibles
Integración avanzada de Android
Integración avanzada de Android
Seguridad reforzada de las credenciales
Implementa autenticación biométrica para acceder a las credenciales:AuthenticationManager.kt
Scopes y audience personalizados
Solicita scopes y audience específicos para tu API:AuthenticationManager.kt
Configuración de red
Gestiona la seguridad de red y el certificate pinning:app/src/main/res/xml/network_security_config.xml
AndroidManifest.xml: