Storing passwords¶
Changed in version 0.7.0: Password configuration got completely overhauled.
Vdirsyncer can fetch passwords from several sources other than the config file.
Command¶
Say you have the following configuration:
[storage foo]
type = caldav
url = ...
username = foo
password = bar
But it bugs you that the password is stored in cleartext in the config file. You can do this:
[storage foo]
type = caldav
url = ...
username = foo
password.fetch = ["command", "~/get-password.sh", "more", "args"]
You can fetch the username as well:
[storage foo]
type = caldav
url = ...
username.fetch = ["command", "~/get-username.sh"]
password.fetch = ["command", "~/get-password.sh"]
Or really any kind of parameter in a storage section.
Accessing the system keyring¶
As shown above, you can use the command
strategy to fetch your credentials
from arbitrary sources. A very common usecase is to fetch your password from
the system keyring.
The keyring Python package contains a command-line utility for fetching passwords from the OS’s password store. Installation:
pip install keyring
Basic usage:
password.fetch = ["command", "keyring", "get", "example.com", "foouser"]
Password Prompt¶
You can also simply prompt for the password:
[storage foo]
type = caldav
username = myusername
password.fetch = ["prompt", "Password for CalDAV"]