zuraffa_auth

Typed authentication for the Zuraffa ecosystem — pluggable providers behind a pure-Dart port, with token auto-refresh and session persistence via zuraffa_session.

Platform packages

Typed platform adapters for the native halves, each over one injected channel seam (pure Dart; the native embedder is a documented protocol):

  • zuraffa_auth_android — Credential-Manager-shaped provider + encrypted session store
  • zuraffa_auth_ios — Apple-authorization provider + Keychain store with a declared accessibility policy
  • zuraffa_auth_macos — local-authorization provider + data-protection Keychain store with partition-scoped writes

Usage

final auth = AuthService(
  providers: [MyPasswordProvider()],   // any AuthProvider adapter
  sessions: FileSessionStore(storeDir), // persistence via zuraffa_session
);

final session = await auth.signIn(kimi,
    AuthCredentials(identifier: ada, secret: pw));

// after an app restart:
final restored = await auth.restore();

// current session — auto-refreshes an expired token:
final current = await auth.currentSession();

Libraries

zuraffa_auth
zuraffa_auth — typed authentication for the Zuraffa ecosystem.