34 lines
962 B
Bash
Executable File
34 lines
962 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
CACHE_FILE="/tmp/git_bw_token_$USER"
|
|
|
|
get_credentials() {
|
|
# 1. Versuch: Cache laden
|
|
if [ -f "$CACHE_FILE" ]; then
|
|
cat "$CACHE_FILE"
|
|
return
|
|
fi
|
|
|
|
# 2. Versuch: Bitwarden abfragen (nur wenn BW_SESSION da ist)
|
|
if [ -n "$BW_SESSION" ]; then
|
|
# Hier dein bw-Befehl (Beispielhaft)
|
|
TOKEN=$(bw get item gitea.iten.pro | jq -r '.login.password')
|
|
USER_NAME=$(bw get item gitea.iten.pro | jq -r '.login.username')
|
|
|
|
if [ -n "$TOKEN" ]; then
|
|
OUT="username=$USER_NAME\npassword=$TOKEN"
|
|
echo -e "$OUT" > "$CACHE_FILE"
|
|
chmod 600 "$CACHE_FILE"
|
|
echo -e "$OUT"
|
|
return
|
|
fi
|
|
fi
|
|
printf "\033[1;31mFEHLER:\033[0m Bitwarden ist gesperrt! Bitte '\033[1munlock\033[22m' ausführen.\n" >&2
|
|
exit 1
|
|
}
|
|
|
|
case "$1" in
|
|
get) get_credentials ;;
|
|
store|erase) ;; # Git verlangt diese Endpunkte, wir ignorieren sie
|
|
esac
|