- PHP 8.2+
- MySQL 5.7+ / PostgreSQL / SQLite
- Redis
- Composer
- Logto 账号(云端或自托管)
git clone https://github.com/ElinksTeam/Xboard.git
cd Xboardcomposer install# Installation wizard removed - configure via .env and admin panel安装向导将引导您完成以下配置:
选择数据库类型:
- SQLite(推荐用于测试)
- MySQL
- PostgreSQL
根据提示输入连接详情。
输入 Redis 连接详情:
- 主机(默认:127.0.0.1)
- 端口(默认:6379)
- 密码(可选)
系统将提示您配置 Logto:
🔐 配置 Logto 认证系统
Logto 是现代化的身份认证服务,支持 SSO、MFA、社交登录等功能
请输入 Logto Endpoint (例如: https://your-tenant.logto.app):
> https://your-tenant.logto.app
请输入 Logto App ID:
> your_app_id_here
请输入 Logto App Secret:
> your_app_secret_here
如何获取这些值:
- 访问 Logto 控制台 或您的自托管实例
- 创建一个新的 传统 Web 应用程序
- 复制 Endpoint、App ID 和 App Secret
您将看到:
🎉:一切就绪
📋 重要信息:
1. 管理面板地址:
http://your-domain.com/abc123def
2. 首次登录用户将自动成为管理员
- 使用 Logto 完成首次登录
- 系统自动授予管理员权限
- 后续用户为普通用户
3. Logto Console 配置:
Redirect URI: http://your-domain.com/api/v1/passport/auth/logto/callback
Post Logout URI: http://your-domain.com
⚠️ 安全提示:
请立即完成首次登录以获取管理员权限!
首次登录后,其他用户将只能获得普通用户权限。
重要: 在首次登录前,配置 Logto 控制台:
- 进入您的 Logto 应用程序设置
- 添加 重定向 URI:
http://your-domain.com/api/v1/passport/auth/logto/callback - 添加 登出后重定向 URI:
http://your-domain.com - 保存更改
首次登录的用户将自动成为管理员!
- 访问您的 Xboard 站点:
http://your-domain.com - 点击"使用 Logto 登录"
- 完成 Logto 认证
- 您将被重定向回来并获得管理员权限
安全警告:
- 安装后立即完成此操作
- 任何完成首次登录的人都将成为管理员
- 后续用户将是普通用户
安装完成
↓
首次用户通过 Logto 登录
↓
系统检查:用户数 = 0?
↓
是 → 授予管理员权限 (is_admin = 1)
否 → 普通用户 (is_admin = 0)
首次用户获得:
- ✅ 完整的管理面板访问权限
- ✅ Logto 配置管理
- ✅ 用户管理
- ✅ 系统设置
- ✅ 所有管理功能
后续用户获得:
- ✅ 用户仪表板访问权限
- ✅ 服务订阅
- ✅ 个人资料管理
- ❌ 无管理面板访问权限
# 安装后立即:
# 1. 配置 Logto 控制台
# 2. 访问您的站点
# 3. 使用您的账号登录
# 4. 验证管理员访问权限- 使用强密码
- 在 Logto 中启用 MFA
- 限制 Logto 应用程序访问
- 监控 Logto 审计日志
# 更新 .env
APP_URL=https://your-domain.com
# 更新 Logto 控制台 URI 使用 HTTPS管理员路径自动生成为哈希值。请保密:
管理面板:https://your-domain.com/{随机哈希}
# 检查是否已安装
cat .env | grep INSTALLED
# 应显示:INSTALLED=true# 检查 Logto 设置
cat .env | grep LOGTO
# 应显示您的 Logto 配置curl http://your-domain.com/api/v1/passport/auth/logto/sign-in预期响应:
{
"code": 0,
"data": {
"sign_in_url": "https://your-logto.app/oidc/auth?...",
"message": "Redirect to this URL to sign in with Logto"
}
}- 访问您的站点
- 点击登录
- 使用 Logto 认证
- 检查响应包含
"is_admin": true
原因: Logto 配置缺失或无效
解决方案:
- 检查
.env文件是否包含 Logto 变量 - 运行
php artisan config:cache - 验证 Logto 凭据是否正确
原因: 重定向 URI 不匹配
解决方案:
- 检查 Logto 控制台中的重定向 URI 是否完全匹配
- 确保没有尾部斜杠
- 使用正确的协议(http/https)
原因: 无法访问 Logto 端点
解决方案:
- 验证 Logto 端点 URL 是否正确
- 检查网络连接
- 验证防火墙规则
- 在浏览器中测试端点
原因: 其他用户先登录了
解决方案:
- 检查数据库:
SELECT * FROM v2_user WHERE is_admin = 1; - 如果错误的用户是管理员,手动更新:
UPDATE v2_user SET is_admin = 0 WHERE id = {错误用户ID}; UPDATE v2_user SET is_admin = 1 WHERE id = {正确用户ID};
安装后,请验证:
- 安装成功完成
- Logto 已在
.env中配置 - Logto 控制台重定向 URI 已配置
- 首次登录已完成
- 管理员权限已授予
- 可以访问管理面板
- 可以在管理面板中修改 Logto 设置
- 普通用户可以注册
- 普通用户没有管理员访问权限
登录管理面板并配置:
- 站点名称和描述
- 邮件设置
- 支付方式
- 订阅计划
在 Logto 控制台中:
- 添加社交登录提供商(Google、GitHub 等)
- 启用 MFA
- 自定义登录页面
- 配置密码策略
更新前端以使用 Logto 认证:
- 参见
docs/FRONTEND_LOGTO_INTEGRATION.md - 移除传统登录表单
- 添加 Logto 登录按钮
- 实现回调处理程序
- 测试通过 Logto 注册用户
- 测试用户登录
- 测试管理面板访问
- 测试 Logto 设置修改
- 测试用户权限
- 快速设置:
LOGTO_SETUP.md - 完整指南:
docs/LOGTO_INTEGRATION.md - 前端指南:
docs/FRONTEND_LOGTO_INTEGRATION.md - 变更摘要:
LOGTO_CHANGES.md - Logto 文档: https://docs.logto.io
如果遇到问题:
-
检查日志
tail -f storage/logs/laravel.log
-
启用调试模式
APP_DEBUG=true LOG_LEVEL=debug
-
验证配置
php artisan config:show logto
-
测试连接
- 登录管理面板
- 进入 Logto 设置
- 点击"测试连接"
-
社区支持
- GitHub Issues
- Logto Discord
- 文档
-
没有默认管理员账号
- 没有默认用户名/密码
- 首次登录创建管理员
- 无法手动创建管理员
-
所有用户使用 Logto
- 没有传统登录
- Xboard 中没有密码管理
- 所有认证通过 Logto
-
管理员路径是随机的
- 安装时生成
- 请保密
- 可在设置中更改
-
首次登录至关重要
- 决定谁成为管理员
- 不易撤销
- 安装后立即完成
安装完成! 🎉
记得立即完成首次登录以确保管理员访问权限。