|
|
@@ -29,6 +29,32 @@ the [[file:bitwarden.el::(defcustom%20bitwarden-automatic-unlock%20nil][bitwarde
|
|
|
(plist-get entry :secret)))
|
|
|
#+end_src
|
|
|
|
|
|
+If your bitwarden store is kept on bitwarden servers (as opposed to hosting your own server), you
|
|
|
+may find that the above approach does not work and gives a =Symbol’s value as variable is void:
|
|
|
+print-message= error. This may be due to a recent change in bitwarden login procedures which require
|
|
|
+the use of an API application key. To check if this is indeed the problem try logging in from the
|
|
|
+command line with =bw login [username] 'password= if you are prompted for an API key then the
|
|
|
+following instructions may resolve your problem.
|
|
|
+
|
|
|
+Login to the [bitwarden web interface](https://vault.bitwarden.com), login to your vault, go to the
|
|
|
+=settings= tab and scroll down to the API Key section. Follow the instructions to setup your API
|
|
|
+key. You will need both your =client_id= and your =client_secret=. Then add to your init.el configuration
|
|
|
+two functions =bitwarden-api-client-id= and =bitwarden-api-client-secret= which have the same specification format as =bitwarden-automatic-unlock=.
|
|
|
+For example, here is the relevant section from my configuration.
|
|
|
+#+begin_src emacs-lisp
|
|
|
+ (setq bitwarden-api-secret-key
|
|
|
+ (plist-get (car (auth-source-search :host "bitwarden.key"))
|
|
|
+ :secret))
|
|
|
+ (setq bitwarden-api-client-id
|
|
|
+ (plist-get (car (auth-source-search :host "bitwarden.id"))
|
|
|
+ :secret))
|
|
|
+#+end_src
|
|
|
+Note that these query two lines in my =authinfo.gpg= that have the form:
|
|
|
+#+BEGIN_QUOTE
|
|
|
+machine bitwarden.key login YYY password XXX
|
|
|
+machine bitwarden.id login YYY password XXX
|
|
|
+#+END_QUOTE
|
|
|
+
|
|
|
** auth-source
|
|
|
|
|
|
There is read-only support for auth-source as well. You can run
|