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

A helper library for storing application secrets in an encrypted file using the master secret provided by the XDG Desktop Portal Secret API.

example/main.dart

// ignore_for_file: avoid_print

import 'dart:io';

import 'package:xdg_desktop_portal/xdg_desktop_portal.dart';
import 'package:xdg_directories/xdg_directories.dart';
import 'package:xdg_secret_portal_store/xdg_secret_portal_store.dart';
import 'package:xdg_secret_portal_store_default/xdg_secret_portal_store_default.dart';

void main() async {
  final portal = XdgDesktopPortalClient();

  try {
    final file = File(
      '${dataHome.path}/org.example.xdg_secret_portal_store_example/xdg_secret_portal_store/secrets.json',
    );

    final store = XdgSecretPortalStore(
      masterSecretRetriever: portal.secret.retrieveSecret,
      persistence: SecretStorePersistenceFile(file),
      crypto: SecretStoreCryptoDefault(),
    );
    await store.loadMasterSecret();

    final secrets = await store.read();

    print('Secrets: $secrets');

    secrets['password'] = '12345678';
    secrets['refresh_token'] = '...';
    secrets['access_token'] = '...';

    await store.write(secrets);

    print('Password has been updated.');
  } finally {
    await portal.close();
  }
}
2
likes
160
points
206
downloads

Documentation

API reference

Publisher

verified publisherechoellet.dev

Weekly Downloads

A helper library for storing application secrets in an encrypted file using the master secret provided by the XDG Desktop Portal Secret API.

Repository (GitHub)
View/report issues

Topics

#os-integration #xdg-portal #secure-storage

License

MIT (license)

More

Packages that depend on xdg_secret_portal_store