马上注册,免费下载更多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! 登录范例,喜欢不!
©DZ插件网所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 本站内容为站长个人技术研究记录或网络,不提供用户交互功能,所有内容版权归原作者所有。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,得到更好的正版服务。 您在本站任何的赞助购买、下载、查阅、回复等行为等均表示接受并同意签订《DZ插件网免责声明协议》。 如有侵权请邮件与我们联系处理: discuzaddons@vip.qq.com 并出示相关证明以便删除。敬请谅解!
|
|