feat: update init-channels to use cookie

This commit is contained in:
Ray Andrew 2026-02-14 13:16:32 -06:00
parent 8c872e3c35
commit 5356e0ac64
Signed by: rayandrew
SSH key fingerprint: SHA256:EUCV+qCSqkap8rR+p+zGjxHfKI06G0GJKgo1DIOniQY

View file

@ -27,26 +27,26 @@ fi
API_BASE="${NEW_API_BASE:-http://localhost:4000}" API_BASE="${NEW_API_BASE:-http://localhost:4000}"
USERNAME="${NEW_API_USERNAME:-root}" USERNAME="${NEW_API_USERNAME:-root}"
PASSWORD="${NEW_API_PASSWORD:?Set NEW_API_PASSWORD to the admin password}" PASSWORD="${NEW_API_PASSWORD:?Set NEW_API_PASSWORD to the admin password}"
COOKIE_JAR=$(mktemp)
trap 'rm -f "$COOKIE_JAR"' EXIT
# ── Login to get session token ────────────────────────── # ── Login to get session cookie ─────────────────────────
login() { login() {
echo "Logging in as ${USERNAME}..." echo "Logging in as ${USERNAME}..."
local resp local resp
resp=$(curl -s "${API_BASE}/api/user/login" \ resp=$(curl -s -c "$COOKIE_JAR" "${API_BASE}/api/user/login" \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
-d "$(python3 -c " -d "$(python3 -c "
import json, sys import json, sys
print(json.dumps({'username': sys.argv[1], 'password': sys.argv[2]})) print(json.dumps({'username': sys.argv[1], 'password': sys.argv[2]}))
" "$USERNAME" "$PASSWORD")") " "$USERNAME" "$PASSWORD")")
local success token local success
success=$(echo "$resp" | python3 -c "import sys,json; print(json.load(sys.stdin).get('success', False))") success=$(echo "$resp" | python3 -c "import sys,json; print(json.load(sys.stdin).get('success', False))")
if [[ "$success" != "True" ]]; then if [[ "$success" != "True" ]]; then
echo "ERROR: Login failed: ${resp}" echo "ERROR: Login failed: ${resp}"
exit 1 exit 1
fi fi
TOKEN=$(echo "$resp" | python3 -c "import sys,json; print(json.load(sys.stdin)['data']['access_token'])")
echo " Logged in." echo " Logged in."
} }
@ -76,7 +76,7 @@ print(json.dumps({
local resp success local resp success
resp=$(curl -s "${API_BASE}/api/channel/" \ resp=$(curl -s "${API_BASE}/api/channel/" \
-H "Authorization: Bearer ${TOKEN}" \ -b "$COOKIE_JAR" \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
-d "$payload") -d "$payload")
@ -150,7 +150,7 @@ create_channel "Cerebras" 1 \
echo "" echo ""
echo "Creating API token for Open WebUI..." echo "Creating API token for Open WebUI..."
TOKEN_RESP=$(curl -s "${API_BASE}/api/token/" \ TOKEN_RESP=$(curl -s "${API_BASE}/api/token/" \
-H "Authorization: Bearer ${TOKEN}" \ -b "$COOKIE_JAR" \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
-d "$(python3 -c " -d "$(python3 -c "
import json import json