掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
分享一個(gè)由微構(gòu)網(wǎng)絡(luò)discuz團(tuán)隊(duì)近期的一個(gè)關(guān)于discuz第三方登錄接口,核心代碼如下圖(以下僅為了演示核心功能,實(shí)際應(yīng)用根據(jù)實(shí)際情況調(diào)整):
以上代碼都很簡(jiǎn)單,但是以上僅適用于discuz及ucenter的數(shù)據(jù)庫(kù)保存在同一個(gè)數(shù)據(jù)庫(kù)中,否則以上代碼需要做進(jìn)一步處理,當(dāng)然如果做過(guò)數(shù)據(jù)分表處理的一樣要進(jìn)行進(jìn)一步處理。此外,如果以上代碼不是在利用插件模式實(shí)現(xiàn),需先引入discuz核心文件。
針對(duì)以上代碼,這里提供示例文檔:
一、API校驗(yàn)處理。
需要在請(qǐng)求中包含一個(gè)名為sgin的自定義請(qǐng)求頭,其值為計(jì)算方式如下:
$api_appid =’10001′;
$api_key=’67afa0156768b5631bb79c7fd4e5c86′;
$content—->請(qǐng)求的參數(shù)組成的數(shù)組。
第一步,把$content轉(zhuǎn)化為json串。
第二步,把$content進(jìn)行base64編碼。
第三步,依次把$api_appid、$content、$api_key拼接組合,生成$sign。
第四步,把$sign進(jìn)行MD5,然后統(tǒng)一轉(zhuǎn)為大寫,由此$sign即為api頭的值。
二、登錄接口
接口地址:http://localhost/plugin.php?id=api
調(diào)用方式:Http post請(qǐng)求
編碼方式:utf-8
格式:json
請(qǐng)求參數(shù):
參數(shù)名稱 | 是否必須 | 類型 | 描述 |
username | 是 | String | 用戶名,如admin |
password | 是 | String | 用戶密碼進(jìn)行md5處理以后的值,如密碼明文123456對(duì)應(yīng)值為e10adc3949ba59abbe56e057f20f883e |
響應(yīng)內(nèi)容:
參數(shù)名稱 | 類型 | 描述 |
code | String | 響應(yīng)代碼,1為登錄成功,0為登錄失敗 |
msg | String | 消息反饋 |
data | String | 接口返回的數(shù)據(jù),僅當(dāng)code為1時(shí)才有數(shù)據(jù)返回 |
data中的數(shù)據(jù)
參數(shù)名稱 | 類型 | 描述 |
username | String | 用戶名,如admin |
data | String | 用戶密碼進(jìn)行md5處理以后的值,如密碼明文123456對(duì)應(yīng)值為e10adc3949ba59abbe56e057f20f883e |
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流