From e4f12c16b593549a37bb2db4cda9dcd2a22e27d8 Mon Sep 17 00:00:00 2001 From: James Blair Date: Wed, 14 Aug 2024 10:30:33 +1200 Subject: [PATCH] Move custom git credential helper from .bashrc to .gitconfig. --- .bashrc | 48 ------------------------------------------------ .gitconfig | 6 +++++- 2 files changed, 5 insertions(+), 49 deletions(-) diff --git a/.bashrc b/.bashrc index eec3db1..8370138 100644 --- a/.bashrc +++ b/.bashrc @@ -80,54 +80,6 @@ function bwai () { bw encode | bw create item && bw sync } -# custom git credential cache implementation for bitwarden -# https://github.com/bitwarden/cli/blob/master/examples/git-credential-bw.sh -function bw_gitea () { - declare -A params - - if [[ "$1" == "get" ]]; then - read -r line - while [ -n "$line" ]; do - key=${line%%=*} - value=${line#*=} - params[$key]=$value - read -r line - done - - if [[ "${params['protocol']}" != "https" ]]; then - exit - fi - - if [[ -z "${params["host"]}" ]]; then - exit - fi - - if ! bw list items --search "asdf" > /dev/null 2>&1; then - echo "Please login to Bitwarden to use git credential helper" > /dev/stderr - exit - fi - - id=$(bw list items --search "${params["host"]}"|jq ".[] | select(.name == \"${params["host"]}\").id" -r) - - if [[ -z "$id" ]]; then - echo "Couldn't find item id in Bitwarden DB." > /dev/stderr - echo "${params}" - exit - fi - - user=$(bw get username "${id}") - pass=$(bw get password "${id}") - - if [[ -z "$user" ]] || [[ -z "$pass" ]]; then - echo "Couldn't find host in Bitwarden DB." > /dev/stderr - exit - fi - - echo username="$user" - echo password="$pass" - fi -} - # enable programmable completion features (you don't need to enable # this, if it's already enabled in /etc/bash.bashrc and /etc/profile # sources /etc/bash.bashrc). diff --git a/.gitconfig b/.gitconfig index 6162b5d..a274045 100644 --- a/.gitconfig +++ b/.gitconfig @@ -1,7 +1,7 @@ [user] email = mail@jamesblair.net name = James Blair - signingkey = ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC2t1GmNmhoV2WvrA5dKS9nhLlBExD949coqQnYnqvgQ7l+ODRXxifg8wcnp7PXTcs6CW3tlwA6W5LWMK5gtjNXfZH9jpMPD2m1p7koysoYmC2eMWREF+IN4dS1MsaL9VU1WrqolP3qbvI2WWmECrzA0xakDhAZXuIzl3HRng1YeQV8gi8YoG9Jm0ZXd+RMqxBGyUw1+O4o1NfFwQ9dIUNFRyUScl/yzQv0AfXqOi2IrdA5IpdtlpAZsD1cnB3kUFlluxaqCuXQKGO1wPo3wTh2Po+upCyMi2XXCakVXgRaIuBLvmZPYVMYlwbbDL0dMexhc+pccgJ3sE0JDzm1+oe2uY9pIIsnfrD6fzjN+JO0rbGtrWpERf0amIzJFj4i7zvPk4eY7OskYSInf7Qj5He8eLv0VBBxQc2ikDTPQtS/cIomLXA1tAsA1dqHNl438AHG4r4NaPNDAoRUql3BOYEZjyza5eV8b26Yw3s/x64g4oc0Zhoc6/UB7zmbou0a1w+oC1qXloJIYnYb6ntiaZKt5HLuUUP7V0WIMRco35Rt1NtaKKwqmo7z40VwvYPWTtaNwm3GFmMi9E603TudzuJB+katlfROXFOI/8Ks5S1juFAMcI+KVo0Ndl0G9iYRbZyrHB+HdxS1HVaWn4CTy9WCvQBHWB/cr1dnjVviqAZ0iw== james@james-ultrabook + signingkey = ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCsYhu2xE5cxq+sA7bNyHjZUk9IHKXHsd58ZCFLfCHbK5nnWLgJwxFnF1NzBylyOJviJ2v54VYQoXvsWLTbehlyH/kqJS8icmo0iu2mUFcp09n/3NcGw2BJefwMbK+mofxBBR78RRNI8DG3yk7Apa19BrLpFWaL/VljGidgR61WhPH7FbXjTh5NuQR494LG3yBRn16yIPNN+xZhf0TW7uoVCiSr77kFELgrTqjpPyoYiYLZZdKqJZ7PDgOEcLq5oDEZfYME8sGRPyufGByH7tnK9fgFaZ9wW747wTNN2naUIhCNzJLxKgr8fMMRBXuqeUjk+5/EzxGFXjxE+4a+dhD51OO5mSN1ctG/061HIQjJwZ2Zk6CACypBEv6nLVREaMqKQtcEPPooZ2SK4SdiMtwC8XLCZ6wRQDVskMentI1uy3bbCwV9AG0auiLA3sfbyKI8093p5NLsLEiR+BScu4/tLx7kzPetl89QOKzTI60GXzBaSnBXhAtQTijZZFrOGbQ1NQ1deWb6pT8foOPOs3P2F0a4Y/nY/xlomBuNqTI48Vi8MZJjhTvAe8BF+Y7C8HlSaCZeH1DrnymkbLhpXvVH7Tuir/DLOyhrwnXqNuxpMyWsfy5UrTfe67GP2+jzriFxteTMbvZjmgbF2UDMYs5U59NaYPdAYxjwdzH5nHoIWw== james@james-desktop [pull] rebase = true @@ -18,6 +18,10 @@ [credential] helper = cache --timeout=21600 +[credential "https://gitea.jamma.life"] + username = "!f() { test \"$1\" = get && echo \"password=$(NODE_OPTIONS=\"--no-deprecation\" bw get username gitea)\"; }; f" + helper = "!f() { test \"$1\" = get && echo \"password=$(NODE_OPTIONS=\"--no-deprecation\" bw get item gitea | jq '.fields[0].value' -r)\"; }; f" + [commit] gpgsign = true