TIL - Bitwarden CLI usage in scripts
To automate some SAP BTP scripts, I’ve been using the great generate-password-grant-type
script (created by my friend and colleague @qmacro) to retrieve an access token. Unfortunately, or fortunately, authenticating with some accounts requires 2FA. Meaning that you need to append an OTP when specifying the account’s password in the password field. This can be cumbersome when developing scripts, as you need to set this OTP. Bitwarden CLI to the rescue!
I use Bitwarden as my password manager, and it has a CLI :-). I’ve extended the script above to use the Bitwarden CLI when authenticating with a specific account. All I have to do when running the script is specify my master password, and it just works!
if [ $email != '[email protected]' ];
then
read -rsp "Password for '$email': " password
else
export BW_SESSION=$(bw unlock --raw)
password=$(echo "$(bw get password 65no66u5-y4j8-4440-4ki6-m4763834cn45)$(bw get totp 65no66u5-y4j8-4440-4ki6-m4763834cn45)")
fi