portico_auth_storage_sqlite 1.0.0 copy "portico_auth_storage_sqlite: ^1.0.0" to clipboard
portico_auth_storage_sqlite: ^1.0.0 copied to clipboard

SQLite storage adapter for portico_auth_roles, portico_auth_credentials, and portico_auth_tokens.

example/main.dart

import 'package:portico_auth_storage_sqlite/portico_auth_storage_sqlite.dart';
import 'package:sqflite_common_ffi/sqflite_ffi.dart';

void main() async {
  print('--- Portico Auth SQLite Storage Example ---');

  // 1. Initialize sqflite for FFI (Desktop/Server)
  sqfliteFfiInit();
  final databaseFactory = databaseFactoryFfi;

  // 2. Open an in-memory database
  final db = await databaseFactory.openDatabase(inMemoryDatabasePath);
  print('In-memory SQLite database opened.');

  // 3. Initialize the storage adapter
  final storage = AuthTokensSqlite(db);
  await storage.initialize();

  // 4. Perform basic operations
  print('\nAdding a refresh token counter...');
  await storage.recordRefreshToken(
    userId: 'user_123',
    serial: 'serial_abc',
    initial: DateTime.now(),
    lastUpdate: DateTime.now(),
    counter: 1,
    name: 'Mobile App',
  );

  print('Retrieving counters...');
  final counters = await storage.getRefreshTokenCounter(
    userId: 'user_123',
    serial: 'serial_abc',
  );

  for (final c in counters) {
    print('Found counter: Value=$c');
  }

  print('\nUpdating counter...');
  await storage.updateRefreshTokenCounter(
    userId: 'user_123',
    serial: 'serial_abc',
    lastUpdate: DateTime.now(),
    counter: 2,
  );

  print('\nInvalidating token...');
  await storage.invalidateRefreshToken(
    serial: 'serial_abc',
    userId: 'user_123',
  );

  final remaining = await storage.getRefreshTokenCounter(
    userId: 'user_123',
    serial: 'serial_abc',
  );
  print('Remaining counters: ${remaining.length}');

  // 5. Cleanup
  await db.close();
  print('\nDatabase closed.');
}
1
likes
160
points
59
downloads

Publisher

verified publishermcdole.org

Weekly Downloads

SQLite storage adapter for portico_auth_roles, portico_auth_credentials, and portico_auth_tokens.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

meta, path, portico_auth_credentials, portico_auth_roles, portico_auth_tokens, sqflite_common_ffi, sqlite3

More

Packages that depend on portico_auth_storage_sqlite