扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
分享一个由微构网络discuz团队近期的一个关于discuz第三方登录接口,核心代码如下图(以下仅为了演示核心功能,实际应用根据实际情况调整):
以上代码都很简单,但是以上仅适用于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小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流