·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

在 X5 中做一个 Discuz! 登录

88 4
发表于 2025-5-1 07:44:02 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
大哥,你标题啥意思!?没看懂啊!!

是不是很多人看到这个标题没明白啥意思?哈哈,我们都知道 QQ 登录、微信登录是吧,那如何做一个 Discuz! 登录呢?

这回听明白没?没错,就是这个 Discuz! 登录到另一个 Discuz! 的意思,听着有点神奇吧!?


要说这个,我们要首先说下 X5 的一大特性 RESTful 接口。这是 X5 基于 oAuth2 标准设计的开放性接口。是的,开放性,意思是你可以自己随意开发自己的 API 接口,而且无需写代码,只需写一个 XML。关于如何开发 API 在这文章里我就不多说了,只给个链接,自己读去哈“Discuz RESTful API: Discuz RESTful API 开发手册”

在做今天我要做的事情之前,我们先准备2个X5,先分别看下2个 X5 的后台

站点 A 有 3 个用户


站点 B 只有一个 admin 用户

我们拿站点 A 作为用户中心,站点 B 用户直接登录站点 A 的用户。

之前的文章“在 X5 下开发一个第三方登录”我们提到了如何开发一个第三方登录,这次我们加强下写法,直接调用 RESTful 接口实现登录

我们先打开站点 A 的 RESTful 后台,上传 discuz_restful_official_trial.xml 文件,然后添加一个应用


然后我们就可以开始写代码了,在站点 B 把前文的插件复制过来,打开 account.class.php,把 RESTful 基础类准备好



还记得前文中 login($referer = '', $op = 0) 方法的这个简易登录框吗?我们继续用,不改它



我们直接修改下的身份校验部分



这里,我们先调用 /token 接口获取了 token,然后调用 /member/login 接口进行登录。登录成功后我们通过 $ret['data']['user'] 获取身份。
作为范例,我们就不进行复杂的加密过程了,把登录的身份信息传递给 callback 地址。

在 getLoginUser() 方法中我们把传递过来的数据入库,沿用前文范例的逻辑就可以



我们测试下流程:


登录的时候点这个登录入口


弹出那个简易的登录框,我们输入站点 A 的第三个用户


成功,站点 B 自动注册了这个用户并登录成功,我们去后台看一下


2个人了,完成!

这就是最简单的 Discuz! 登录范例,喜欢不!
我要说一句 收起回复

评论4

独家记忆Lv.8 发表于 2025-5-1 07:45:00 | 查看全部
沙发。。。。。
我要说一句 收起回复
IT618发布Lv.8 发表于 2025-5-1 07:45:26 | 查看全部
nice
我要说一句 收起回复
浅生Lv.8 发表于 2025-5-1 07:45:45 | 查看全部
{:7_172:}
我要说一句 收起回复
TyCodingLv.8 发表于 2025-5-1 07:46:39 | 查看全部
看看看看看看看
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
关闭

站长推荐上一条 /1 下一条

最新热评 加载中...
AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:216.73.216.44,GMT+8, 2025-6-17 20:43 , Processed in 0.318340 second(s), 82 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表