Files
claude-hub/scripts/setup/setup-claude-interactive.sh
Jonathan f5f7520588 docs: clean up authentication documentation and add test coverage
- Remove TOS violations and marketing copy from authentication guides
- Fix Claude CLI command references to use --dangerously-skip-permissions
- Update setup scripts with correct command syntax
- Add test coverage for Docker authentication mount path logic
- Focus documentation on technical implementation details

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-31 12:48:32 -05:00

66 lines
2.5 KiB
Bash
Executable File

#!/bin/bash
set -e
# Claude Interactive Authentication Setup Script
# This script creates a container for interactive Claude authentication
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
AUTH_OUTPUT_DIR="${CLAUDE_HUB_DIR:-$HOME/.claude-hub}"
echo "🔧 Claude Interactive Authentication Setup"
echo "========================================="
echo ""
# Create output directory for authentication state
mkdir -p "$AUTH_OUTPUT_DIR"
echo "📦 Building Claude setup container..."
docker build -f "$PROJECT_ROOT/Dockerfile.claude-setup" -t claude-setup:latest "$PROJECT_ROOT"
echo ""
echo "🚀 Starting interactive Claude authentication container..."
echo ""
echo "IMPORTANT: This will open an interactive shell where you can:"
echo " 1. Run 'claude --dangerously-skip-permissions' to authenticate"
echo " 2. Follow the authentication flow"
echo " 3. Type 'exit' when done to preserve authentication state"
echo ""
echo "The authenticated ~/.claude directory will be saved to:"
echo " $AUTH_OUTPUT_DIR"
echo ""
read -p "Press Enter to continue or Ctrl+C to cancel..."
# Run the interactive container
docker run -it --rm \
-v "$AUTH_OUTPUT_DIR:/auth-output" \
-v "$HOME/.gitconfig:/home/node/.gitconfig:ro" \
--name claude-auth-setup \
claude-setup:latest
echo ""
echo "📋 Checking authentication output..."
if [ -f "$AUTH_OUTPUT_DIR/.credentials.json" ] || [ -f "$AUTH_OUTPUT_DIR/settings.local.json" ]; then
echo "✅ Authentication files found in $AUTH_OUTPUT_DIR"
echo ""
echo "📁 Captured authentication files:"
find "$AUTH_OUTPUT_DIR" -type f -name "*.json" -o -name "*.db" | head -10
echo ""
echo "🔄 To use this authentication in your webhook service:"
echo " 1. Copy files to your ~/.claude directory:"
echo " cp -r $AUTH_OUTPUT_DIR/* ~/.claude/"
echo " 2. Or update docker-compose.yml to mount the auth directory:"
echo " - $AUTH_OUTPUT_DIR:/home/node/.claude:ro"
echo ""
else
echo "⚠️ No authentication files found. You may need to:"
echo " 1. Run the container again and complete the authentication flow"
echo " 2. Ensure you ran 'claude --dangerously-skip-permissions' and completed authentication"
echo " 3. Check that you have an active Claude Code subscription"
fi
echo ""
echo "🧪 Testing authentication..."
echo "You can test the captured authentication with:"
echo " docker run --rm -v \"$AUTH_OUTPUT_DIR:/home/node/.claude:ro\" claude-setup:latest claude --dangerously-skip-permissions --print 'test'"