返回列表 发帖
查看: 957|回复: 4

[X5开发特性] 在 X5 中做一个 Discuz! 登录

448

回帖

6

粉丝

1

关注

管理员

贡献
23 点
金币
44 个
产品版本
X5.0+
发表于 2024-10-29 09:31:54 |北京| 查看全部 |阅读模式
大哥,你标题啥意思!?没看懂啊!!

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

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


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

在做今天我要做的事情之前,我们先准备2个X5,先分别看下2个 X5 的后台
1.jpg
站点 A 有 3 个用户

2.jpg
站点 B 只有一个 admin 用户

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

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

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

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

b1.jpg

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

b2.jpg

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

b3.jpg

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

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

b4.jpg

我们测试下流程:

3.jpg
登录的时候点这个登录入口

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

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

6.jpg
2个人了,完成!

这就是最简单的 Discuz! 登录范例,喜欢不!

评分

参与人数 1金币 +1 人气 +5 收起 理由
[K] + 1 + 5 赞一个!

查看全部评分

回复

使用道具 举报

3291

回帖

9

粉丝

2

关注

应用开发者

Discuz! 运维

贡献
219 点
金币
685 个
QQ
发表于 2024-10-29 09:37:00 |江苏来自手机 | 查看全部
沙发。。。。。
回复

使用道具 举报

21

回帖

3

粉丝

0

关注

应用开发者

贡献
1 点
金币
11 个
发表于 2024-10-29 09:39:10 |广东| 查看全部
nice
回复

使用道具 举报

290

回帖

3

粉丝

0

关注

应用开发者

贡献
5 点
金币
173 个
QQ
发表于 2024-10-29 09:41:57 |四川| 查看全部

回复

使用道具 举报

42

回帖

2

粉丝

0

关注

应用开发者

[话痨]

贡献
0 点
金币
12 个
发表于 2024-10-29 09:47:28 |马来西亚来自手机 | 查看全部
看看看看看看看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 关注公众号
  • 有偿服务微信
  • 有偿服务QQ

手机版|小黑屋|Discuz! 官方交流社区 ( 皖ICP备16010102号 |皖公网安备34010302002376号 )|网站地图|star

GMT+8, 2026-1-26 09:59 , Processed in 0.054628 second(s), 14 queries , Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2026 Discuz! Team.

关灯 在本版发帖
有偿服务QQ
有偿服务微信
返回顶部
快速回复 返回顶部 返回列表