Instalación
Add InsForge to your Swift Package Manager dependencies:
Enable Logging (Optional)
For debugging, you can configure the SDK log level and destination:
Log Levels:
| Level | Description |
|---|
.trace | Most verbose, includes all internal details |
.debug | Detailed information for debugging |
.info | General operational information (default) |
.warning | Warnings that don’t prevent operation |
.error | Errors that affect functionality |
.critical | Critical failures |
Log Destinations:
| Destination | Description |
|---|
.console | Standard output (print) |
.osLog | Apple’s unified logging system (recommended for iOS/macOS) |
.none | Disable logging |
.custom | Provide your own LogHandler factory |
Use .info or .error in production to avoid exposing sensitive data in logs.
signUp()
Cree 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 para mostrar del usuario
Devoluciones
SignUpResponse
Ejemplo (flujo completo con verificación)
Verificación de correo electrónico
Para usuarios que se registran con correo electrónico, el backend de InsForge ofrece tres opciones:
- Sin verificación de correo electrónico - Los usuarios pueden iniciar sesión inmediatamente después del registro.
SignUpResponse tendrá hasSession = true.
- Verificación basada en enlace - 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 y 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 y contraseña.
Cuando requireEmailVerification es true, la respuesta tendrá:
accessToken = nil
user = nil
needsEmailVerification = true
Esto indica que la verificación a través de la opción 2 o 3 es necesaria antes de que el usuario pueda iniciar sesión.
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 de verificación |
signIn()
Inicie sesión con un usuario existente 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
Ejemplo
Verificación de correo electrónico
Si la respuesta de inicio de sesión es:
Esto indica que la verificación a través de la opción 2 o 3 (enlace o código, consulte signUp()) es necesaria antes de que el usuario pueda iniciar sesión.
signOut()
Cierre la sesión del usuario actual.
Ejemplo
getCurrentUser()
Obtener usuario autenticado con datos de perfil.
Ejemplo
setProfile()
Actualizar el perfil del usuario actual.
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íe 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()
Intercambie 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
Devoluciones
ResetPasswordTokenResponse
Ejemplo
resetPassword()
Restablezca la contraseña del usuario usando un token de restablecimiento.
Parámetros
otp (String) - Token de restablecimiento (de exchangeResetPasswordToken() para el flujo de código, o de la URL del enlace mágico para el flujo de enlace)
newPassword (String) - Nueva contraseña que cumple con los requisitos configurados
Ejemplo
signInWithOAuthView()
Inicie sesión directamente con un proveedor OAuth específico. Este método abre la página de autenticación del proveedor OAuth.
En iOS 12+ y macOS 10.15+, el SDK usa ASWebAuthenticationSession para presentar un navegador de autenticación en la aplicación con manejo de devolución de llamada automática.
Proveedores admitidos
Parámetros
provider (OAuthProvider) - El proveedor OAuth con el que autenticarse
redirectTo (String) - URL de devolución de llamada donde InsForge redirigirá después de la autenticación
Devoluciones
Devuelve AuthResponse que contiene el usuario autenticado y los tokens de sesión.
Flujo de autenticación
Ejemplo
Configuración del esquema de URL
Registre una URL de devolución de llamada para su aplicación, pase ese valor exacto a redirectTo y agregue el mismo valor a allowedRedirectUrls en Configuración de autenticación. Por ejemplo, puede usar un enlace profundo como yourapp://auth/callback o una devolución de llamada HTTPS reclamada como https://app.example.com/auth/callback. Las solicitudes fallarán con HTTP 400 si redirectTo no está en la lista permitida.
Manejo de errores