Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Rust Libsecret bindings
This library contains safe Rust bindings for Libsecret, a library that offers access to the Secret Service API.
See also
Usage
You can add libsecret by adding it in your Cargo.toml file:
[]
= "libsecret"
= "0.x.y"
Define a password schema
Each stored password has a set of attributes which are later used to lookup the password. The names and types of the attributes are defined in a schema. The schema is usually defined once globally. Here’s how to define a schema:
let mut attributes = std::collections::HashMap::new();
attributes.insert("number", libsecret::SchemaAttributeType::Integer);
attributes.insert("string", libsecret::SchemaAttributeType::String);
attributes.insert("even", libsecret::SchemaAttributeType::Boolean);
let schema = libsecret::Schema::new("some.app.Id", libsecret::SchemaFlags::NONE, attributes);
Store a password
Each stored password has a set of attributes which are later used to lookup the password. The attributes should not contain secrets, as they are not stored in an encrypted fashion.
This first example stores a password asynchronously, and is appropriate for GUI applications so that the UI does not block.
let mut attributes = std::collections::HashMap::new();
attributes.insert("number", "8");
attributes.insert("string", "eight");
attributes.insert("even", "true");
let collection = libsecret::COLLECTION_DEFAULT;
libsecret::password_store_future(Some(&schema), attributes, Some(&collection), "The Label", "the password").await?;
Lookup a password
Each stored password has a set of attributes which are used to lookup the password. If multiple passwords match the lookup attributes, then the one stored most recently is returned.
This first example looks up a password asynchronously, and is appropriate for GUI applications so that the UI does not block.
let mut attributes = std::collections::HashMap::new();
attributes.insert("number", "8");
attributes.insert("even", "true");
let password = libsecret::password_lookup_future(Some(&schema), attributes).await?;
Remove a password
Each stored password has a set of attributes which are used to find which password to remove. If multiple passwords match the attributes, then the one stored most recently is removed.
This first example removes a password asynchronously, and is appropriate for GUI applications so that the UI does not block.
let mut attributes = std::collections::HashMap::new();
attributes.insert("number", "8");
attributes.insert("even", "true");
libsecret::password_clear_future(Some(&schema), attributes).await?;