Manage and generate one-time passwords for multiple accounts.
Go >= 1.22
Support OS X, Linux/BSD (dbus) and Windows.
The OS X implementation depends on the /usr/bin/security
binary for
interfacing with the OS X keychain. It should be available by default.
The Linux and *BSD implementation depends on the [Secret Service][SecretService] dbus interface, which is provided by GNOME Keyring.
It's expected that the default collection login
exists in the keyring, because
it's the default in most distros. If it doesn't exist, you can create it through the
keyring frontend program Seahorse:
- Open
seahorse
- Go to File > New > Password Keyring
- Click Continue
- When asked for a name, use: login
go get go.nhat.io/authenticator
The accounts are grouped as namespace, the list of namespaces is stored in $HOME/.authenticator.toml
. The content is in plain text and in toml
format.
For example
namespace = ["namespace1", "namespace2"]
The namespace data, such as namespace name, and accounts are stored in the keyring in go.nhat.io/authenticator
service and <namespace>
key.
The totp secret of each account is stored in the keyring in go.nhat.io/authenticator
service and <namespace>/<account>
key.
If this project help you reduce time to develop, you can give me a cup of coffee :)
or scan this