船说 CMS 支持微信登录吗
学完这篇,你能搞清自己的船说CMS 到底能不能用微信扫码登录、要走哪条路接入,以及接不上的时候大概卡在哪儿。
第一步:先确认你的版本后台有没有「第三方登录」入口
这一步决定你是「装个插件就行」还是「得自己写代码」,五分钟能出结果。
浏览器打开你的站点后台,通常是 你的域名/admin,用管理员账号登录。登录后看左侧菜单,按顺序点开这几个位置找:
- 系统 → 插件管理(部分版本叫「应用管理」「扩展管理」)
- 设置 → 会员设置,往下翻是否有「微信登录」「第三方登录」开关
- 会员 → 登录设置
找到微信相关的条目,说明你这个版本已经带了;三个地方都没有,就是默认只支持账号密码登录,得靠插件或二次开发补。
注意:不同分支的后台菜单名字差异很大,别只认一个路径。最快的方法是登录后在后台顶部搜索框直接搜「插件」「微信」两个关键词。
第二步:去微信开放平台申请「网站应用」
这一步拿到 AppID 和 AppSecret,没有这两个东西后面全是空谈。
浏览器打开 open.weixin.qq.com,用企业主体的微信号登录,进入 管理中心 → 网站应用 → 创建网站应用。要填的信息:
- 应用名称:和你网站备案名称保持一致,否则审核容易被拒
- 应用官网:填你站点首页完整地址,例如
https://www.example.com - 授权回调域:只填域名,不要带
http://,也不要带路径,例如www.example.com
提交后等审核,通常 1-7 个工作日。通过后回到应用详情页,能看到 AppID 和 AppSecret(AppSecret 只显示一次,记得复制保存)。
注意:网站扫码登录必须用开放平台的「网站应用」,公众号后台那个 AppID 是给公众号网页授权用的,两套东西不能混用。另外开放平台网站应用只对企业等组织主体开放,个人主体申请不了,这是最常见的死路。
第三步:在船说CMS 后台填参数并启用
这一步让前台登录页出现微信图标。
回到船说CMS 后台,进入 系统 → 插件管理,找到「微信登录」相关插件,点 安装,安装完点 配置,把上一步的 AppID、AppSecret 分别粘进对应输入框,回调地址一般填 https://你的域名/wechat/callback 或插件说明里写死的地址,保存后把插件状态切到 启用。
然后去前台登录页刷新一下,能看到「微信登录」图标或二维码按钮,就说明链路通了。
注意:如果插件要求的回调地址和你在开放平台填的「授权回调域」对不上,扫码后会直接报「redirect_uri 参数错误」。改完开放平台的域名后,需要重新提交审核才生效。
第四步:没有插件时,自己动手接
船说CMS 基于 .NET Core,二次开发接入的核心就四步。
- 拼授权链接跳转:
- 用户扫码后,微信带着
code跳回你的回调地址 - 服务端拿
code去换令牌: - 返回里取
access_token和openid,再请求https://api.weixin.qq.com/sns/userinfo拿昵称头像,用openid去会员表里查或新建账号,写登录 Cookie
https://open.weixin.qq.com/connect/qrconnect?appid=你的AppID&redirect_uri=回调地址&response_type=code&scope=snsapi_login&state=随机串#wechat_redirect
https://api.weixin.qq.com/sns/oauth2/access_token?appid=..&secret=..&code=..&grant_type=authorization_code
注意:
code只能用一次,有效期 5 分钟。刷新页面重放同一个 code 会直接报 40029,调试时别拿浏览器后退键反复试。
第五步:卡住时按这个顺序排查
- 报「scope 参数错误」→ 参数写成了
snsapi_base或snsapi_userinfo,扫码登录必须是snsapi_login - 报「redirect_uri 参数错误」→ 回调域和开放平台配置不一致,或填了带路径的地址
- 扫码后白屏、没有任何跳转 → 检查服务器是否能访问
api.weixin.qq.com,有些机房出网被限 - 能拿到 openid 但登录不了 → 多半是会员表写入失败或 Cookie 域配置错了
小结
- 先说结论:船说CMS 默认多数版本只带账号密码登录,微信登录要靠插件或二次开发,先看后台 系统 → 插件管理 里有没有入口
- 前置条件是微信开放平台的网站应用,个人主体申请不了,这是硬门槛
- 授权回调域只填域名,改完要重新审核
- 扫码登录的 scope 必须写
snsapi_login,code 只能消费一次且 5 分钟内有效 - 自己接的流程固定四步:跳授权页 → 拿 code → 换 access_token 和 openid → 建账号写登录态
原文链接:https://www.gj0.com/thread-1129.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。