Saltar al contenido principal

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:
LevelDescription
.traceMost verbose, includes all internal details
.debugDetailed information for debugging
.infoGeneral operational information (default)
.warningWarnings that don’t prevent operation
.errorErrors that affect functionality
.criticalCritical failures
Log Destinations:
DestinationDescription
.consoleStandard output (print)
.osLogApple’s unified logging system (recommended for iOS/macOS)
.noneDisable logging
.customProvide 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:
  1. Sin verificación de correo electrónico - Los usuarios pueden iniciar sesión inmediatamente después del registro. SignUpResponse tendrá hasSession = true.
  2. 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.
  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 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étodoDescripció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