config-email/generate-link.sh

30 lines
725 B
Bash
Executable File

#!/bin/bash
# Generate Config-App Link with signed token
EMAIL=$1
SECRET="SHARED_SECRET_KEY_987654321"
EXPIRES=$(($(date +%s) + 3600)) # 1 hour from now
if [ -z "$EMAIL" ]; then
echo "Usage: ./generate-link.sh email@example.com"
exit 1
fi
# Create signature
DATA="${EMAIL}|${EXPIRES}"
SIGNATURE=$(echo -n "$DATA" | openssl dgst -sha256 -hmac "$SECRET" | awk '{print $2}')
# URL encode email
EMAIL_ENCODED=$(printf %s "$EMAIL" | xxd -plain | tr -d '\n' | sed 's/\(..\)/%\1/g')
# Generate URL
URL="http://localhost:3009/?email=${EMAIL_ENCODED}&expires=${EXPIRES}&signature=${SIGNATURE}"
echo ""
echo "✅ Config-App Link generated:"
echo ""
echo "$URL"
echo ""
echo "📋 Copy this link and open in browser"
echo ""