libsecret.v
Minimal implementation of libsecret (Secret Service API) for managing secrets in Vlang.
The examples from the
C docs
Installation
This library uses the
libsecret/secret.h
-
libsecret-1-0
-
libsecret-1-dev
On Debian-based distro's, these can be installed via:
sudo apt install -y libsecret-1-0 libsecret-1-dev
Note:
libsecret
Cannot autolaunch D-Bus without X11 $DISPLAY
v install robinvandernoord.libsecret
Usage
import robinvandernoord.libsecret
// initial setup:
struct Metadata {
// you can store anything you like here!
// It will be converted to JSON.
text string
}
schema := libsecret.get_schema()
// save a password:
schema.store_password("Label Description", "my-password", Metadata {"text string"})
// load password with metadata:
mut metadata := Metadata {} // start with an empty object to fill
password := schema.load_password("Label Description", mut metadata)
println(password or {"missing password"}) // -> "my-password"
println(metadata) // Metadata { text: "text string" }
// remove password:
assert schema.remove_password("Label Description")