分享团队原创的简洁的discuz第三方登录接口

2017-08-15 19:47 栏目:技术开发 查看(19061)

分享一个由微构网络discuz团队近期的一个关于discuz第三方登录接口,核心代码如下图(以下仅为了演示核心功能,实际应用根据实际情况调整):

23626

 

以上代码都很简单,但是以上仅适用于discuz及ucenter的数据库保存在同一个数据库中,否则以上代码需要做进一步处理,当然如果做过数据分表处理的一样要进行进一步处理。此外,如果以上代码不是在利用插件模式实现,需先引入discuz核心文件。

针对以上代码,这里提供示例文档:

一、API校验处理。

需要在请求中包含一个名为sgin的自定义请求头,其值为计算方式如下:

$api_appid =’10001′;

$api_key=’67afa0156768b5631bb79c7fd4e5c86′;

$content—->请求的参数组成的数组。

第一步,把$content转化为json串。

第二步,把$content进行base64编码。

第三步,依次把$api_appid、$content、$api_key拼接组合,生成$sign。

第四步,把$sign进行MD5,然后统一转为大写,由此$sign即为api头的值。

二、登录接口

接口地址:http://localhost/plugin.php?id=api

调用方式:Http post请求

编码方式:utf-8

格式:json

请求参数:

参数名称 是否必须 类型 描述
username String 用户名,如admin
password String 用户密码进行md5处理以后的值,如密码明文123456对应值为e10adc3949ba59abbe56e057f20f883e

响应内容:

参数名称 类型 描述
code String 响应代码,1为登录成功,0为登录失败
msg String 消息反馈
data String 接口返回的数据,仅当code为1时才有数据返回

data中的数据

参数名称 类型 描述
username String 用户名,如admin
data String 用户密码进行md5处理以后的值,如密码明文123456对应值为e10adc3949ba59abbe56e057f20f883e

 

与我们的项目经理联系
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流

转载请注明出处:分享团队原创的简洁的discuz第三方登录接口 - 微构网络
分享: