欢迎访问艾立兹站 Aliz- 专注建站教程与技术分享
您当前的位置:首页 > 建站教程 > 帝国 CMS 教程

帝国CMS网站模板使用第三方登录功能 QQ、微信、微博、百度账号接入指南

时间:2026-08-13 22:24:03  来源:aliz.cn  作者:SKY  阅读:
原创实测|适用帝国 CMS8.0。帝国 CMS 会员模块自带memberconnect外部登录接口目录,可接入 QQ、微信、微博、百度账号快捷登录,减少用户注册步骤,提升会员注册转化率。本文完整讲解平台申请、插件部署、模板调用、排错、安全注意事项。

一、原理说明


帝国 CMS 第三方登录基于 OAuth2.0 协议,统一存放在目录:/e/memberconnect/。 每一个第三方渠道为独立子目录,后台路径:后台 → 用户 → 外部接口 → 管理外部登录接口。 流程:点击登录按钮 → 跳转第三方授权页面 → 用户授权 → 回调网站获取 code → 获取 openid、昵称、头像 → 无账号自动注册会员,已有账号直接登录。
重要前置条件
  1. 网站域名必须完成备案;
  2. HTTPS 站点,第三方平台回调域名必须填写 https 完整地址;
  3. 微信网页扫码登录需要付费开发者认证,QQ、微博、百度网页应用基础接口免费。

二、各平台申请材料清单

1、QQ 登录(QQ 互联)


官网:https://connect.qq.com/
  • 创建网站应用,填写网站信息,提交审核,免费;
  • 获取:APP IDAPP Key
  • 回调地址示例:https://www.aliz.cn/e/memberconnect/?apptype=qq
坑点:QQ 内置浏览器打开网站登录会授权失败,平台后台回调域名需要多增加一条回调地址。

2、微信 PC 扫码登录(微信开放平台)


官网:https://open.weixin.qq.com/
⚠️注意:这不是公众号后台,是微信开放平台,需要每年 300 元开发者认证费用,不认证无法调用网页扫码登录接口。
  • 创建网站应用,提交资质审核;
  • 获取:AppIDAppSecret
  • 配置授权回调域名,只填写域名,不要带路径。
区分:
  • PC 网页扫码登录:微信开放平台网站应用(收费);
  • 微信内部浏览器登录:认证服务号公众号接口; 两者 openid 不互通,需要绑定 UnionID 才能账号统一。

3、新浪微博登录


开放平台:https://open.weibo.com
  • 创建网站应用,提交审核,基础登录接口免费;
  • 获取 App KeyApp Secret
  • 设置 OAuth 回调地址,必须和插件回调完全一致。

4、百度账号登录


开放平台:https://openauth.baidu.com
  • 开发者实名认证,创建网页应用;
  • 获取 API Key、Secret Key; 配置回调地址,完成平台审核即可使用。

三、插件部署安装步骤

  1. 将第三方登录插件对应文件夹(qq、weixin、weibo、baidu)上传至服务器目录 /e/memberconnect/
目录结构示例

plaintext
/e/memberconnect/qq/
/e/memberconnect/weixin/
/e/memberconnect/weibo/
/e/memberconnect/baidu/
  1. 访问安装脚本,执行安装 示例:https://域名/e/memberconnect/qq/install/index.php 按照页面提示完成安装,安装完成务必删除 install 安装文件夹,防止安全风险
  2. 后台配置参数 后台 → 用户 → 外部接口 → 管理外部登录接口,编辑对应接口,填入平台申请得到的 APPID、密钥、回调地址,保存。
  3. 测试授权流程 访问地址格式:域名/e/memberconnect/?apptype=qq 修改 apptype 参数:qq / weixin / weibo / baidu,分别对应各个渠道。

四、前台模板调用登录按钮代码


把按钮放到会员登录页面、头部登录弹窗模板内。
html
预览
<!-- QQ登录 -->
<a href="/e/memberconnect/?apptype=qq" target="_self">QQ账号登录</a>
<!-- 微信登录 -->
<a href="/e/memberconnect/?apptype=weixin">微信扫码登录</a>
<!-- 微博登录 -->
<a href="/e/memberconnect/?apptype=weibo">微博账号登录</a>
<!-- 百度登录 -->
<a href="/e/memberconnect/?apptype=baidu">百度账号登录</a>
登录成功跳转配置:插件一般自带返回原页面;如果需要登录后跳转到会员中心,修改插件回调跳转变量。

五、数据库存储说明


第三方登录信息保存在数据表 phome_enewsmemberconnect 字段说明:
  • apptype:渠道标识 qq/weixin/weibo/baidu
  • openid:第三方唯一 ID
  • userid:帝国 CMS 本地会员 ID
  • nickname:第三方昵称
  • avatar:第三方头像地址

新用户授权后,系统自动创建一条会员记录,同时写入本表绑定 openid;老会员再次登录,匹配 openid 直接登录,不用重复注册。

六、高频报错与解决方案

1、redirect_uri 域名与后台配置不一致


错误码:10003
  • 平台后台填写的回调域名,和实际跳转回调地址协议、域名、路径必须完全一致
  • HTTPS 站点,平台不能填写 http 回调;
  • 不能填写localhost、IP 地址,必须填写备案域名。

2、微信提示 scope 参数错误,无权限

  • 网页扫码登录必须使用微信开放平台网站应用,不是公众号;
  • 开发者认证 300 元必须完成,未认证无法调用snsapi_login扫码登录接口。

3、QQ 内置浏览器打开网站,QQ 登录授权失败


QQ 互联平台回调域名,增加回调:https://域名/e/memberconnect/?apptype=qq,清除浏览器缓存再测试。

4、授权成功,但是不自动注册会员

  1. 检查phome_enewsmemberconnect数据表是否存在;
  2. PHP 开启 curl,第三方接口需要 curl 扩展获取 token;
  3. 服务器防火墙不能拦截外部 https 接口请求。

5、头像不显示


第三方头像为外部 URL,部分服务器拦截外部图片;可以二次开发,授权时把头像下载保存到本地服务器。

七、安全优化注意事项

  1. 插件安装完成,删除全部install目录,禁止外部访问安装脚本;
  2. AppSecret 密钥不要输出到前端模板,只存放后台配置;
  3. 不要完全依赖第三方登录,建议引导用户绑定手机号,第三方接口一旦权限变更,避免用户账号丢失;
  4. 开启会员注册验证码,防止第三方接口被恶意批量注册;
  5. 升级帝国 CMS 版本时,备份memberconnect插件目录,升级后重新上传。

八、两种接入方案对比


表格
方案 优点 缺点 适用场景
memberconnect 标准插件 适配帝国 CMS 会员体系,自动注册、绑定账号,后台统一管理第三方接口 微信 PC 扫码需要付费认证 大部分网站,推荐首选
自己手写 OAuth 代码 自由度最高,可以自定义字段 开发量大,要处理会员注册、cookie 登录逻辑 高度定制二次开发项目
小结:普通建站优先使用memberconnect插件方案,减少重复开发;微信 PC 扫码有成本,中小型网站可以只开放 QQ、微博、百度登录。

本文配套模板、静态源码可前往艾立兹素材库alisucai.com下载

发表评论 共有0条评论
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
公众号二维码

扫码关注公众号
获取全套技术教程