QQ 互联 OAuth2.0 的会员快捷登录插件(BadouCMS 插件)

· · ·
打赏 ¥99¥99 一次性费用 · 无需单独授权、不限域名
兼容设备响应式
发布日期2026-10-21
打赏本插件,提供一次首次免费代安装,开始操作前会先确认网站环境、操作权限和服务范围。

QQ快捷登录(BadouCMS 插件)

基于 QQ 互联 OAuth2.0 的会员快捷登录插件:前台登录/注册页自动出现「QQ 登录」入口,**登录可自动创建本站会员账号,已登录会员可一键绑定/解绑,后台可查看绑定记录。

插件标识:qqlogin
适用版本:BadouCMS V2(ThinkPHP 8.1 + Layui)
遵循官方文档 docs/插件开发指南.md 的目录结构、info.ini 规范与入口类生命周期

一、目录结构

modules/qqlogin/
├── info.ini                                  插件信息(name/title/intro/author/website/version/state)
├── Qqlogin.php                               插件入口类(AppInit / install / uninstall / enable / disable)
├── common.php                                插件函数库(qqlogin_config / qqlogin_url / qqlogin_enabled)
├── config.php                                插件配置项(安装时写入系统配置,分组 qqlogin)
├── menu.php                                  后台菜单(安装时写入后台规则表)
├── install.sql                               建表 SQL(__PREFIX__ 自动替换为表前缀)
├── uninstall.sql                             手动清理 SQL
├── library/
│   ├── QqOauth.php                           QQ 互联 OAuth2.0 协议封装
│   └── Button.php                            前台登录页入口渲染
├── service/
│   └── QqloginService.php                    登录/自动注册/绑定/解绑业务编排
├── app/                                      安装后复制到站点根目录 app/
│   ├── admin/
│   │   ├── controller/qqlogin/Oauth.php      后台:绑定记录
│   │   ├── model/qqlogin/Oauth.php           后台模型
│   │   ├── lang/zh-cn/qqlogin/oauth.php      后台语言包
│   │   └── view/qqlogin/oauth/index.html     后台列表(bdTable)
│   └── index/
│       ├── controller/Qqlogin.php            前台一级控制器:login / callback / unbind
│       ├── model/qqlogin/Oauth.php           前台模型
│       └── route/qqlogin.php                 前台路由(/qqlogin/login 等)

二、安装(重要)

1. 将 qqlogin 目录上传到站点 modules/ 下(即 modules/qqlogin/ 内含 info.ini)。
2. 登录后台,刷新任意后台页面即可,无需点击「安装」。

三、QQ 互联配置

1. 前往 QQ 互联 创建网站应用,审核通过后取得 APP ID 与 APP Key。
2. 回调地址填写:https://你的域名/qqlogin/callback
(必须与插件配置中的「回调地址」完全一致;若站点启用了 .html 后缀,则两边同时填 https://你的域名/qqlogin/callback.html)。
3. 后台 系统配置 → QQ快捷登录(或菜单「QQ快捷登录 → 参数配置」)填写:

四、前台使用



五、登录逻辑

1. "state" 中携带场景标识与随机串并写入 Session,回调时校验,防止 CSRF 与伪造回调;
2. 回调后依次换取 "access_token" → "openid"(含 "unionid")→ 用户资料;
3. 已登录:直接把该 QQ 绑定到当前会员;
4. 未登录:
- 存在绑定记录 → 直接登录("FrontendAuth::direct()",写入 "uid"/"token" Cookie);
- 无绑定记录且开启自动注册 → 以 "qq_xxx" 用户名自动注册会员(昵称、头像取自 QQ 资料),再登录;
- 无绑定记录且未开启自动注册 → 提示先登录再绑定。

六、卸载

后台插件管理中卸载即可:删除后台菜单、删除 "qqlogin" 配置分组。

服务与售后

  • 提供安装指导与配置说明文档
  • 首年免费版本更新支持
  • 遇到误拦截问题,凭拦截日志协助定位调整
说明:WAF 是入口层防护,不替代 CMS 安全更新、服务器权限加固和定期备份,请配合使用。

日志

购买附赠服务

🎁收费插件提供首次免费代安装

提交安装需求

购买本插件后,可申请一次基础代安装服务;开始操作前,我们会先确认网站环境、操作权限和服务范围。

✓基础服务内容在已备份且具备操作权限的前提下,完成插件上传、必要配置和基础可用性检查。
🎁首次安装免费每次购买包含一次基础代安装;同一订单的后续重装、网站迁移或环境更换不属于首次免费服务。
ⓘ服务边界功能定制、兼容性改造及服务器故障处理不属于基础代安装,涉及时另行说明。