30 lines
725 B
Bash
Executable File
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 ""
|