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
|
#!/bin/bash
if command -v jq > /dev/null; then
JQ="--print=jq -C"
fi
KEY=jwt-test-key.bin
JWK=jwk-test-key.json
if [ ! -e "${KEY}" ]; then
echo Creating 512 bit binary random key
dd if=/dev/urandom bs=1 count=64 "of=${KEY}"
fi
if [ ! -e "$JWK" ]; then
echo Converting key to JWK
key2jwk -o "${JWK}" "${KEY}"
if [ -n "$JQ" ]; then
cat "${JWK}" | jq -C
else
cat "${JWK}"
fi
fi
TOKEN=jwt-test-token
EXP="$(date -d '+7 days' +%s)"
echo Generating token
jwt-generate -k "${JWK}" \
-c s:group=staff \
-c b:admin=false \
-c s:iss=disk.swissdisk.com \
-c s:user=bcollins \
-c i:exp=${EXP} > ${TOKEN}
echo Verifying token
cat ${TOKEN} | jwt-verify -k "${JWK}" "${JQ}" -v -
|