46 lines
1.4 KiB
Bash
Executable File
46 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
export BASE_URL=http://localhost:7070
|
|
#export BASE_URL=https://example.com
|
|
#CURL_OPTS="-sS"
|
|
CURL_OPTS=""
|
|
|
|
mkdir -p ./tmp/
|
|
|
|
# Sign an Admin token
|
|
echo '{ "sub": "admin_ppid", "email": "me@example.com", "iss": "'"${BASE_URL}"'" }' > ./tmp/admin.claims.json
|
|
keypairs sign --exp 1h ./key.jwk.json ./tmp/admin.claims.json > ./tmp/admin.jwt.txt 2> ./tmp/admin.jws.json
|
|
export ADMIN_TOKEN=$(cat ./tmp/admin.jwt.txt)
|
|
|
|
# verify the Admin token
|
|
#keypairs verify ./pub.jwk.json ./admin.jwt.txt
|
|
|
|
|
|
# Sign a User token
|
|
echo '{ "sub": "random_ppid", "email": "me@example.com", "iss": "'"${BASE_URL}"'" }' > ./tmp/user.claims.json
|
|
keypairs sign --exp 1h ./key.jwk.json ./tmp/user.claims.json > ./tmp/user.jwt.txt 2> ./tmp/user.jws.json
|
|
export USER_TOKEN=$(cat ./tmp/user.jwt.txt)
|
|
|
|
# verify the User token
|
|
#keypairs verify ./pub.jwk.json ./user.jwt.txt
|
|
|
|
|
|
EID=$(cat ./user.jws.json | grep sub | cut -d'"' -f 4)
|
|
|
|
echo ""
|
|
echo 'DELETE /api/public/reset (only works in --demo mode, deletes all data)'
|
|
curl $CURL_OPTS -X DELETE "${BASE_URL}/api/public/reset"
|
|
echo ""
|
|
|
|
echo ""
|
|
echo "Bootstrap with a new admin (only works once)"
|
|
curl -f $CURL_OPTS -X POST "${BASE_URL}/api/public/setup" \
|
|
-H "Authorization: Bearer ${ADMIN_TOKEN}"
|
|
echo ""
|
|
|
|
echo "Create a new user"
|
|
curl $CURL_OPTS -X POST "${BASE_URL}/api/users" \
|
|
-H "Authorization: Bearer ${USER_TOKEN}" \
|
|
-d '{ "display_name": "Jo Doe" }'
|
|
echo ""
|