1
2
mirror of https://github.com/vimagick/dockerfiles synced 2024-06-25 16:28:40 +00:00
dockerfiles/semaphore/keygen.sh
2023-12-29 09:14:38 +08:00

21 lines
724 B
Bash
Executable File

#!/bin/bash
#
# https://docs.semui.co/administration-guide/api
#
set -euo pipefail
API_ENDPOINT=http://192.168.1.100:3000
API_USERNAME=username
API_PASSWORD=password
cookie=$(jq -n --arg auth $API_USERNAME --arg password $API_PASSWORD '{$auth, $password}' | curl -s -c- $API_ENDPOINT/api/auth/login -d @- -o /dev/null | awk '$6=="semaphore"{print $7}')
if curl -s -H "Cookie: semaphore=$cookie" $API_ENDPOINT/api/user/tokens | jq -e 'length==0' > /dev/null; then
curl -s -X POST -H "Cookie: semaphore=$cookie" $API_ENDPOINT/api/user/tokens
fi
token=$(curl -s -H "Cookie: semaphore=$cookie" $API_ENDPOINT/api/user/tokens | jq -r .[0].id)
curl -s -H "Authorization: Bearer $token" $API_ENDPOINT/api/user/tokens | jq .