- 積分
- 744
- 金幣
- 41 個(gè)
- 社區(qū)幣
- 10 元
管理員
- 貢獻(xiàn)
- 19 點(diǎn)
- 金幣
- 41 個(gè)
|
大哥,你標(biāo)題啥意思???沒看懂?。。?br />
是不是很多人看到這個(gè)標(biāo)題沒明白啥意思?哈哈,我們都知道 QQ 登錄、微信登錄是吧,那如何做一個(gè) Discuz! 登錄呢?
這回聽明白沒?沒錯,就是這個(gè) Discuz! 登錄到另一個(gè) Discuz! 的意思,聽著有點(diǎn)神奇吧?。?br />
要說這個(gè),我們要首先說下 X5 的一大特性 RESTful 接口。這是 X5 基于 oAuth2 標(biāo)準(zhǔn)設(shè)計(jì)的開放性接口。是的,開放性,意思是你可以自己隨意開發(fā)自己的 API 接口,而且無需寫代碼,只需寫一個(gè) XML。關(guān)于如何開發(fā) API 在這文章里我就不多說了,只給個(gè)鏈接,自己讀去哈“Discuz RESTful API: Discuz RESTful API 開發(fā)手冊”
在做今天我要做的事情之前,我們先準(zhǔn)備2個(gè)X5,先分別看下2個(gè) X5 的后臺
1.jpg (47.47 KB, 下載次數(shù): 5)
下載附件
2024-10-29 09:10 上傳
站點(diǎn) A 有 3 個(gè)用戶
2.jpg (66.59 KB, 下載次數(shù): 5)
下載附件
2024-10-29 09:10 上傳
站點(diǎn) B 只有一個(gè) admin 用戶
我們拿站點(diǎn) A 作為用戶中心,站點(diǎn) B 用戶直接登錄站點(diǎn) A 的用戶。
之前的文章“在 X5 下開發(fā)一個(gè)第三方登錄”我們提到了如何開發(fā)一個(gè)第三方登錄,這次我們加強(qiáng)下寫法,直接調(diào)用 RESTful 接口實(shí)現(xiàn)登錄
我們先打開站點(diǎn) A 的 RESTful 后臺,上傳 discuz_restful_official_trial.xml 文件,然后添加一個(gè)應(yīng)用
a1.jpg (53.58 KB, 下載次數(shù): 5)
下載附件
2024-10-29 09:14 上傳
a2.jpg (104.11 KB, 下載次數(shù): 5)
下載附件
2024-10-29 09:14 上傳
a3.jpg (66.9 KB, 下載次數(shù): 5)
下載附件
2024-10-29 09:14 上傳
然后我們就可以開始寫代碼了,在站點(diǎn) B 把前文的插件復(fù)制過來,打開 account.class.php,把 RESTful 基礎(chǔ)類準(zhǔn)備好
b1.jpg (181.81 KB, 下載次數(shù): 5)
下載附件
2024-10-29 09:15 上傳
還記得前文中 login($referer = '', $op = 0) 方法的這個(gè)簡易登錄框嗎?我們繼續(xù)用,不改它
b2.jpg (50.5 KB, 下載次數(shù): 5)
下載附件
2024-10-29 09:17 上傳
我們直接修改下的身份校驗(yàn)部分
b3.jpg (96.04 KB, 下載次數(shù): 7)
下載附件
2024-10-29 09:18 上傳
這里,我們先調(diào)用 /token 接口獲取了 token,然后調(diào)用 /member/login 接口進(jìn)行登錄。登錄成功后我們通過 $ret['data']['user'] 獲取身份。
作為范例,我們就不進(jìn)行復(fù)雜的加密過程了,把登錄的身份信息傳遞給 callback 地址。
在 getLoginUser() 方法中我們把傳遞過來的數(shù)據(jù)入庫,沿用前文范例的邏輯就可以
b4.jpg (135.7 KB, 下載次數(shù): 5)
下載附件
2024-10-29 09:20 上傳
我們測試下流程:
3.jpg (48.68 KB, 下載次數(shù): 5)
下載附件
2024-10-29 09:23 上傳
登錄的時(shí)候點(diǎn)這個(gè)登錄入口
4.jpg (22.71 KB, 下載次數(shù): 6)
下載附件
2024-10-29 09:23 上傳
彈出那個(gè)簡易的登錄框,我們輸入站點(diǎn) A 的第三個(gè)用戶
5.jpg (33.96 KB, 下載次數(shù): 5)
下載附件
2024-10-29 09:23 上傳
成功,站點(diǎn) B 自動注冊了這個(gè)用戶并登錄成功,我們?nèi)ズ笈_看一下
6.jpg (48.06 KB, 下載次數(shù): 5)
下載附件
2024-10-29 09:23 上傳
2個(gè)人了,完成!
這就是最簡單的 Discuz! 登錄范例,喜歡不!
|
|