ajolote 0.2.1 copy "ajolote: ^0.2.1" to clipboard
ajolote: ^0.2.1 copied to clipboard

Cliente Flutter para el servicio de autenticación centralizado de Anfibia/4Quinas. Multi-tenant, JWT, OTP por SMS, biometría.

0.2.1 - 2026-05-24 #

Changed #

  • Rewrote README with clear quickstart, feature overview, and installation instructions.
  • Renamed AppId enum to a plain String parameter for generality across consumers.
  • Translated public-facing doc comments to English.

0.2.0 - 2026-05-18 #

Added #

  • Refresh automático del access token con dedupe de concurrencia (TokenRefresher).
    • AjoloteClient.getValidToken() devuelve un JWT siempre fresco.
    • N requests concurrentes con JWT expirado disparan 1 sola llamada de refresh.
  • OAuth social (Google) con deep links + validación de state contra CSRF.
    • Nuevo módulo SocialAuth con SocialAuthConfig y SocialProvider.
    • DeepLinkListener abstracto (la app provee implementación con app_links).
    • El SDK NO depende de app_links ni url_launcher — pattern de factory.
  • Contract compartido con TS: cuando agregás un AppId o cambiás AuthUser, los tests de conformance del paquete @anfibia/ajolote-schemas fallan si los modelos Dart y TS divergen.

Changed #

  • AjoloteClient ahora maneja dos tokens internamente: session token (largo, en SecureStore) y access token JWT (corto, en memoria).
  • El access token se refresca automáticamente cuando le quedan <60s de vida (configurable con refreshThreshold).

Migration desde 0.1.0 #

Si usabas auth.http.getToken() para firmar requests a tu API, cambiar a:

// Antes
final token = await auth.http.getToken();

// Después
final token = await auth.getValidToken();

getValidToken() lanza AuthException(expiredToken) si la sesión también expiró — usar try/catch y redirigir a login.


0.1.0 - 2026-05-18 #

Initial release #

  • AjoloteClient con sign-in/sign-up/sign-out por email + password.
  • PhoneAuth con flujo OTP por SMS (compatible con plugin phoneNumber de Better Auth + Infobip).
  • BiometricAuth con factory pattern (la app provee local_auth).
  • ServerAuthClient para autenticación S2S desde backends Dart.
  • AuthProvider (InheritedNotifier) y AuthBuilder para Flutter idiomático.
  • Persistencia segura con flutter_secure_storage (Keychain/Keystore).
  • Errores normalizados con AuthException + AuthErrorCode.
0
likes
130
points
32
downloads

Documentation

API reference

Publisher

verified publisheranfibia.io

Weekly Downloads

Cliente Flutter para el servicio de autenticación centralizado de Anfibia/4Quinas. Multi-tenant, JWT, OTP por SMS, biometría.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter, flutter_secure_storage, http, meta

More

Packages that depend on ajolote