quickauth 1.1.0
quickauth: ^1.1.0 copied to clipboard
QuickAuth Flutter SDK — phone OTP (SMS / WhatsApp) auth and WhatsApp marketing attribution.
Changelog #
All notable changes to the QuickAuth Flutter SDK are documented here. Format: Keep a Changelog.
1.0.0 — 2026-05-23 #
Changed #
- BREAKING:
OtpResultreturned byverifyOTPno longer containsjwt/expiresIn/userId. QuickAuth is a verification provider, not an identity provider — we tell you whether the phone was verified and return arequestId. ForwardrequestIdto your own backend, which confirms server-to-server viaGET /v1/auth/status?requestId=...and mints its own session JWT against its own user table. See https://quickauth.in/docs/backend- class OtpResult { String jwt; int expiresIn; String? userId; } + class OtpResult { bool verified; String requestId; String message; } - BREAKING:
QuickAuthLoginButton.onSuccesssignature changed fromvoid Function(String jwt)tovoid Function(String requestId). The widget now gates onresult.verifiedinternally and surfacesresult.messagethroughonErroron failure.
0.2.0 — 2026-04-28 #
Changed #
- BREAKING:
QuickAuth.initnow takes aTokenProvider onTokenExpirycallback instead ofpublicKey. The customer's backend mints 10-minute ephemeral session JWTs via server-to-serverPOST /v1/sdk/sessionand the SDK uses them asAuthorization: Bearer <sessionToken>. Twilio-Verify pattern — the client secret never lives on-device. x-quickauth-keyheader replaced with standardAuthorization: Bearer.
Added #
TokenManagerwith JWTexpparsing, 30s pre-expiry refresh window, single-flight refresh coalescing, and 401 → invalidate+retry handling.- Optional
initialToken,unsafeDirectClientId,unsafeDirectClientSecretinit parameters. The unsafe-direct escape hatch prints a console warning and is documented as trusted-enterprise only. - New
test/token_manager_test.dartcovering refresh, single-flight, invalidation, malformed JWT, and 401 retry.
0.1.0 — 2026-04-28 #
Added #
- Initial public release.
QuickAuth.initfor one-time configuration.- Headless API:
QuickAuth.auth.startOTP,verifyOTP,observeOTP,startWhatsAppLogin. - Component API:
QuickAuthLoginButton,QuickAuthOtpField. - Attribution:
captureLaunch,trackConversion, browser-cookie / launch-URL qa_clid resolution. - Consent gate (
QuickAuth.consent.set/get) — DPDP / GDPR friendly. - Android plugin:
SmsRetrieverintegration via MethodChannelio.quickauth/sms_retriever;getAppHashhelper. - iOS plugin: no-op shim — autofill driven by
TextField.textContentType = .oneTimeCodeon the Dart side.