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