Saltar al contenido principal

Instalación

  1. Add InsForge dependencies to your project
build.gradle.kts:
  1. Initialize InsForge SDK
  1. Enable Logging (Optional)
For debugging, you can configure the SDK log level:
Log LevelDescription
NONENo logging (default, recommended for production)
ERROROnly errors
WARNWarnings and errors
INFOInformational messages
DEBUGDebug info (request method, URL, response status)
VERBOSEFull details (headers, request/response bodies)
Use NONE or ERROR in production to avoid exposing sensitive data in logs.

Android Initialization

  1. Add Chrome Custom Tabs dependency to your build.gradle.kts:
  1. Initialize InsForge SDK (With Chrome Custom Tabs and Session Storage)
  1. Use Jetpack DataStore for Session Storage (Optional)

signUp()

Crear una nueva cuenta de usuario con correo electrónico y contraseña.

Parámetros

  • email (String) - Dirección de correo electrónico del usuario
  • password (String) - Contraseña del usuario
  • name (String?, optional) - Nombre de visualización del usuario

Devuelve

SignUpResponse

Ejemplo (Flujo completo con verificación)

Verificación de correo electrónico

Para los usuarios que se registran con correo electrónico, el backend de InsForge proporciona tres opciones:
  1. Sin verificación de correo electrónico - Los usuarios pueden iniciar sesión inmediatamente después del registro. SignUpResponse tendrá accessToken != null.
  2. Verificación basada en enlaces - Los usuarios deben abrir su correo electrónico y hacer clic en el enlace de verificación antes de poder iniciar sesión.
  3. Verificación basada en código - El backend de InsForge envía un código de verificación de 6 dígitos al correo electrónico del usuario. La aplicación cliente necesita mostrar una pantalla de verificación donde los usuarios puedan ingresar el código, luego llamar a verifyEmail(email, code) para completar la verificación. Solo después de esto, los usuarios pueden iniciar sesión con correo electrónico + contraseña.
Cuando requireEmailVerification es true, la respuesta tendrá:
  • accessToken = null
  • user = null
  • requireEmailVerification = true
Esto indica que la verificación mediante la opción 2 o 3 es necesaria antes de que el usuario pueda iniciar sesión.

Métodos relacionados

MétodoDescripción
verifyEmail(email, code)Verificar correo electrónico con código de 6 dígitos
resendVerificationEmail(email)Reenviar correo electrónico de verificación

signIn()

Iniciar sesión con un usuario existente usando correo electrónico y contraseña.

Ejemplo

Verificación de correo electrónico

Si la respuesta de inicio de sesión es:
Esto indica que la verificación mediante la opción 2 o 3 (enlace o código, consulta signUp()) es necesaria antes de que el usuario pueda iniciar sesión.

signOut()

Cerrar la sesión del usuario actual.

Ejemplo


signInWithOAuthPage()

Inicia sesión directamente con un proveedor OAuth específico. Este método abre la página de autenticación del proveedor OAuth directamente en el navegador del sistema.

Proveedores admitidos

Parámetros

  • provider (OAuthProvider) - El proveedor OAuth con el que autenticarse
  • redirectUri (String) - URL de devolución de llamada donde InsForge redirigirá después de la autenticación

Devuelve

Ejemplo

  1. Configurar BrowserLauncher
Al crear el cliente de InsForge, configura el browserLauncher para manejar la apertura de URLs:
  1. Configurar devolución de llamada de App Link / Deep Link
Configura tu actividad de devolución de llamada en AndroidManifest.xml:
  • Opción A: Esquema de URL personalizado (para desarrollo)
  • Opción B: App Links (para producción)
  1. Iniciar inicio de sesión con OAuth con proveedor específico
  1. Manejar devolución de llamada de OAuth
client debe provenir de la misma instancia compartida del cliente de InsForge que utilizas en otros lugares de la aplicación, como un singleton de Application o tu contenedor de inyección de dependencias.

getCurrentUser()

Obtener el usuario autenticado actual del servidor. Esta es una función suspensiva que realiza una solicitud de red.

Devuelve

Ejemplo

Este método realiza una solicitud de red para obtener datos del usuario. Para acceder al estado del usuario almacenado en caché localmente, utiliza currentUser StateFlow.

updateProfile()

Actualizar el perfil del usuario actual.

Parámetros

  • profile (Map\<String, Any\>) - Campos de perfil a actualizar

Devuelve

Ejemplo


Restablecimiento de contraseña

InsForge admite dos métodos de restablecimiento de contraseña, configurados en el backend:
  • Método de código: El usuario recibe un código de 6 dígitos por correo electrónico, lo verifica para obtener un token de restablecimiento y luego restablece la contraseña
  • Método de enlace: El usuario recibe un enlace mágico por correo electrónico que contiene el token de restablecimiento y luego restablece la contraseña directamente

sendPasswordReset()

Envía un correo electrónico de restablecimiento de contraseña al usuario. El correo electrónico contendrá un código de 6 dígitos o un enlace mágico según la configuración del backend.

Parámetros

  • email (String) - Dirección de correo electrónico del usuario

Ejemplo


exchangeResetPasswordToken()

Intercambia un código de restablecimiento de 6 dígitos por un token de restablecimiento. Este método solo se usa con el flujo de restablecimiento basado en código.

Parámetros

  • email (String) - Dirección de correo electrónico del usuario
  • code (String) - Código numérico de 6 dígitos recibido por correo electrónico

Devuelve

ResetTokenResponse

Ejemplo


resetPassword()

Restablecer la contraseña del usuario usando un token de restablecimiento.

Parámetros

  • newPassword (String) - Nueva contraseña que cumple con los requisitos configurados
  • otp (String) - Token de restablecimiento (de exchangeResetPasswordToken() para flujo de código, o de URL de enlace mágico para flujo de enlace)

Ejemplo


Manejo de errores

Códigos de error comunes

Código de errorDescripción
INVALID_CREDENTIALSEl correo electrónico o la contraseña son incorrectos
USER_NOT_FOUNDNo existe ningún usuario con este correo electrónico
EMAIL_NOT_VERIFIEDVerificación de correo electrónico requerida
INVALID_EMAILFormato de correo electrónico no válido
WEAK_PASSWORDLa contraseña no cumple los requisitos
USER_ALREADY_EXISTSEl correo electrónico ya está registrado
SESSION_EXPIREDLa sesión ha caducado, es necesario reiniciar sesión