Instalación
- Add InsForge dependencies to your project
- Maven Central
- GitHub Packages
build.gradle.kts:
- Initialize InsForge SDK
- Enable Logging (Optional)
| Log Level | Description |
|---|---|
NONE | No logging (default, recommended for production) |
ERROR | Only errors |
WARN | Warnings and errors |
INFO | Informational messages |
DEBUG | Debug info (request method, URL, response status) |
VERBOSE | Full details (headers, request/response bodies) |
Use
NONE or ERROR in production to avoid exposing sensitive data in logs.Android Initialization
- Add Chrome Custom Tabs dependency to your
build.gradle.kts:
- Initialize InsForge SDK (With Chrome Custom Tabs and Session Storage)
- 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 usuariopassword(String) - Contraseña del usuarioname(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:- Sin verificación de correo electrónico - Los usuarios pueden iniciar sesión inmediatamente después del registro.
SignUpResponsetendráaccessToken != null. - 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.
- 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.
requireEmailVerification es true, la respuesta tendrá:
accessToken = nulluser = nullrequireEmailVerification = true
Métodos relacionados
| Método | Descripció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: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 autenticarseredirectUri(String) - URL de devolución de llamada donde InsForge redirigirá después de la autenticación
Devuelve
Ejemplo
- Configurar BrowserLauncher
browserLauncher para manejar la apertura de URLs:
- Configurar devolución de llamada de App Link / Deep Link
- Opción A: Esquema de URL personalizado (para desarrollo)
- Opción B: App Links (para producción)
- Iniciar inicio de sesión con OAuth con proveedor específico
- 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 usuariocode(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 configuradosotp(String) - Token de restablecimiento (deexchangeResetPasswordToken()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 error | Descripción |
|---|---|
INVALID_CREDENTIALS | El correo electrónico o la contraseña son incorrectos |
USER_NOT_FOUND | No existe ningún usuario con este correo electrónico |
EMAIL_NOT_VERIFIED | Verificación de correo electrónico requerida |
INVALID_EMAIL | Formato de correo electrónico no válido |
WEAK_PASSWORD | La contraseña no cumple los requisitos |
USER_ALREADY_EXISTS | El correo electrónico ya está registrado |
SESSION_EXPIRED | La sesión ha caducado, es necesario reiniciar sesión |