File: example.sh

package info (click to toggle)
libjwt3 3.3.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,920 kB
  • sloc: ansic: 10,119; xml: 253; javascript: 187; sh: 45; makefile: 14; ruby: 11
file content (39 lines) | stat: -rwxr-xr-x 694 bytes parent folder | download
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 -