mirror of
https://github.com/claude-did-this/claude-hub.git
synced 2026-02-15 03:31:47 +01:00
- 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>
66 lines
2.5 KiB
Bash
Executable File
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'" |