桌面端网页登录 QzoneArchive——WebView 窗口提取 Cookie
什么情况下用网页登录
网页登录是桌面端特有的备选方式。以下情况可能需要用网页登录:
- 手机不方便扫码
- 二维码扫码反复失败
- 你的 QQ 账号在电脑上已经登录了 QQ 客户端
操作步骤
- 打开 QzoneArchive,进入登录页面
- 选择"网页登录"
- 应用弹出一个独立的 WebView 窗口,加载 QQ 空间官方登录页
- 在 WebView 窗口里用你习惯的方式登录(账号密码、短信验证、QQ 客户端扫码等都可以)
- 登录完成后,应用的 Rust 后端通过 Cookie API 从 WebView 中提取登录凭证
- 关闭 WebView 窗口,应用主界面显示已登录
与二维码登录的区别
| 对比项 | 二维码登录 | 网页登录 |
|---|---|---|
| 设备需求 | 需要另一台设备(手机) | 只需要当前电脑 |
| 输入密码 | 不输入 | 可能需要输入(取决于 QQ 登录页验证方式) |
| 安全等级 | 更高(密码不经过应用) | 相当(密码由 QQ 官方页面处理) |
| 适用平台 | 桌面 + 移动 | 仅桌面 |
安全设计
网页登录的核心安全设计和二维码登录一致:
- 登录凭证只存在 Rust 后端内存,不写日志、不落盘
- 登录完成后 WebView 窗口可以关闭,Cookie 从 WebView 环境转移到后端
- 整个登录过程使用的是 QQ 官方的登录页面,应用不拦截密码输入
凭证生命周期
和二维码登录完全相同——会话有效期几小时到一天,关闭应用或切换账号后旧 Cookie 自动丢弃。