registry/tools/admin/auth.sh
adam jones 8afe162f6f
feat: add admin operations documentation and scripts for server management (#323)
## Summary
- Added comprehensive admin operations documentation
- Included scripts for common server management tasks

Together with #315, #316, this fixes #182
2025-08-28 23:40:50 +01:00

29 lines
No EOL
837 B
Shell
Executable file

#!/bin/bash
# Simple OIDC authentication helper using gcloud
REGISTRY_URL="${REGISTRY_URL:-https://registry.modelcontextprotocol.io}"
if ! gcloud projects list &> /dev/null; then
gcloud auth login >&2
fi
# Get Google Cloud identity token
OIDC_TOKEN=$(gcloud auth print-identity-token)
# Exchange for registry token
RESPONSE=$(curl -s -X POST "${REGISTRY_URL}/v0/auth/oidc" \
-H "Content-Type: application/json" \
-d "{\"oidc_token\": \"${OIDC_TOKEN}\"}")
# Check if successful
REGISTRY_TOKEN=$(echo "$RESPONSE" | jq -r '.registry_token // empty')
if [ -z "$REGISTRY_TOKEN" ]; then
echo "Error: Authentication failed" >&2
echo "$RESPONSE" | jq '.' >&2
exit 1
fi
# Output the export command
echo "# Successfully authenticated! Now run this to use your token:" >&2
echo "export REGISTRY_TOKEN='${REGISTRY_TOKEN}'"