Files
chinese-family-tree-2/test-session.sh
T
freedakgmail e92884ae53 0.0.1.0
2025-11-23 03:07:39 +08:00

61 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
echo "🔍 测试登录后的 Session"
echo "======================="
echo ""
BASE_URL="http://localhost:3000"
# 1. 注册用户
TIMESTAMP=$(date +%s)
TEST_EMAIL="session-test-$TIMESTAMP@example.com"
echo "1️⃣ 注册用户: $TEST_EMAIL"
REGISTER_RESPONSE=$(curl -s -X POST "$BASE_URL/api/auth/register" \
-H "Content-Type: application/json" \
-d "{\"email\":\"$TEST_EMAIL\",\"password\":\"password123\",\"name\":\"Session测试\"}")
echo "注册响应: $REGISTER_RESPONSE"
echo ""
# 2. 获取 CSRF token
echo "2️⃣ 获取 CSRF token..."
CSRF_RESPONSE=$(curl -s -c cookies.txt -b cookies.txt "$BASE_URL/api/auth/csrf")
CSRF_TOKEN=$(echo $CSRF_RESPONSE | grep -o '"csrfToken":"[^"]*"' | cut -d'"' -f4)
echo "CSRF Token: $CSRF_TOKEN"
echo ""
# 3. 登录并保存 cookies
echo "3️⃣ 登录..."
LOGIN_RESPONSE=$(curl -s -c cookies.txt -b cookies.txt -X POST "$BASE_URL/api/auth/callback/credentials" \
-H "Content-Type: application/json" \
-d "{\"email\":\"$TEST_EMAIL\",\"password\":\"password123\",\"csrfToken\":\"$CSRF_TOKEN\",\"callbackUrl\":\"$BASE_URL\",\"json\":true}")
echo "登录响应: $LOGIN_RESPONSE"
echo ""
# 4. 查看保存的 cookies
echo "4️⃣ 保存的 Cookies:"
cat cookies.txt
echo ""
# 5. 使用 cookies 访问受保护的 API
echo "5️⃣ 使用 session 访问家族树 API..."
TREES_RESPONSE=$(curl -s -b cookies.txt "$BASE_URL/api/trees")
echo "家族树响应: $TREES_RESPONSE"
echo ""
# 6. 尝试创建家族树
echo "6️⃣ 尝试创建家族树..."
CREATE_TREE_RESPONSE=$(curl -s -b cookies.txt -X POST "$BASE_URL/api/trees" \
-H "Content-Type: application/json" \
-d '{"name":"Session测试家族树","description":"测试session是否工作"}')
echo "创建家族树响应: $CREATE_TREE_RESPONSE"
echo ""
# 清理
rm -f cookies.txt
echo "✅ Session 测试完成"