-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathget-token
executable file
·53 lines (46 loc) · 1.01 KB
/
get-token
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/usr/bin/env zsh
help() {
echo
echo "TODO"
echo
echo "Options:"
echo "-m <method> TODO"
echo "-t <token> TODO"
echo
}
[[ -z $1 ]] && help && exit 1
[[ "$1" == "--help" ]] && help && exit
CONFIG="${HOME}/.config/get-token"
METHODS=(dotfile pass op)
METHOD="dotfile"
TOKEN_KEYS=(
aiven
cloudflare
gemfury
github
github-vault
teleport
)
while getopts m:t:vh arg; do
case ${arg} in
m) METHOD=${OPTARG}
[[ ${METHODS[(r)${METHOD}]} != ${METHOD} ]] && help && exit 1
;;
t) TOKEN_KEY=${OPTARG} ;;
h) help && exit ;;
*) help && exit 1 ;;
esac
done
[[ -z "$TOKEN_KEY" ]] && help && exit 1
case "$METHOD" in
dotfile) TOKEN_VALUE=$(cat ${HOME}/$(grep $TOKEN_KEY $CONFIG)) ;;
pass)
#TODO
;;
op)
OP_SESSION=$(1pass_signin)
#CLOUDFLARE_TOKEN=$(op --session $OP_SESSION --vault TODO get item "${TOKEN_KEY} token" --fields password)
#TODO
;;
esac
echo $TOKEN_VALUE