Last active
December 21, 2024 22:11
-
-
Save mikeboiko/58ab730afd65bca0a125bc12b6f4670d to your computer and use it in GitHub Desktop.
Use bitwarden rbw as git-credential helper
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# rbw git-credential helper | |
# Based on https://github.com/lastpass/lastpass-cli/blob/master/contrib/examples/git-credential-lastpass | |
# A credential helper for git to retrieve usernames and passwords from rbw. | |
# For general usage, see https://git-scm.com/docs/gitcredentials. | |
# Here's a quick version: | |
# 1. Put this somewhere in your path. | |
# 2. git config --global credential.helper rbw | |
declare -A params | |
if [ "x$1" == "xget" ]; then | |
read line | |
while [ -n "$line" ]; do | |
key=${line%%=*} | |
value=${line#*=} | |
params[$key]=$value | |
read line | |
done | |
if [ "x${params['protocol']}" != "xhttps" ]; then | |
exit | |
fi | |
if [ -z "${params["host"]}" ]; then | |
exit | |
fi | |
rbw ls > /dev/null 2>&1 | |
if [ $? -ne 0 ]; then | |
echo "Please login to rbw to use git credential helper" > /dev/stderr | |
exit | |
fi | |
user=`rbw get --full ${params["host"]} | grep "Username:" | cut -d' ' -f2-` | |
pass=`rbw get ${params["host"]}` | |
if [ "x$user" == "x" ] || [ "x$pass" == "x" ]; then | |
echo "Couldn't find host in rbw DB." > /dev/stderr | |
exit | |
fi | |
echo username=$user | |
echo password=$pass | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Ahh yes, good call. When I was using a mac, I got around this issue by installing the latest
bash
version fromhomebrew
.