你的所謂聯(lián)合登錄應(yīng)該就是單點(diǎn)登錄(SSO)吧,有幾個(gè)思路,供參考:
巴里坤哈薩克ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!
1、利用現(xiàn)有開源項(xiàng)目,見:;scope=project,另外,耶魯大學(xué)有個(gè)SSO開源項(xiàng)目叫CAS,很不錯(cuò)。
2、如果你的系統(tǒng)在同一個(gè)域下,一個(gè)比較簡單的辦法是利用cookie,在登錄入口把用戶帳號(hào)信息寫到cookie里面,然后在各個(gè)系統(tǒng)中從cookie里面取出來進(jìn)行認(rèn)證,可能會(huì)對(duì)各個(gè)系統(tǒng)進(jìn)行一些必要的改造~
方法/步驟
準(zhǔn)備工作
在正式接入之前你需要了解以下名詞的含義:
1. appid?:應(yīng)用的唯一標(biāo)識(shí)。在OAuth2.0認(rèn)證過程中,appid的值即為oauth_consumer_key的值。
2. appkey:appid對(duì)應(yīng)的密鑰,訪問用戶資源時(shí)用來驗(yàn)證應(yīng)用的合法性。在OAuth2.0認(rèn)證過程中,appkey的值即為oauth_consumer_secret的值。
3. redirecturl:成功授權(quán)后的回調(diào)地址,必須是注冊appid時(shí)填寫的主域名下的地址,建議設(shè)置為網(wǎng)站首頁或網(wǎng)站的用戶中心。注意需要將url進(jìn)行URLEncode。
4. access token:用來判斷用戶在本網(wǎng)站上的登錄狀態(tài),具有3個(gè)月有效期,用戶再次登錄時(shí)自動(dòng)刷新。
5. openid:是此網(wǎng)站上唯一對(duì)應(yīng)用戶身份的標(biāo)識(shí),網(wǎng)站可將此ID進(jìn)行存儲(chǔ)便于用戶下次登錄時(shí)辨識(shí)其身份,或?qū)⑵渑c用戶在網(wǎng)站上的原有帳號(hào)進(jìn)行綁定。
第一步
要接入QQ登錄,必不可少的是appid和appkey,通過申請(qǐng)接入QQ登錄,按照相應(yīng)步驟操作即可輕松獲得,在此不做贅述。
第二步
在需要放置QQ登錄按鈕的頁面加入下面SCRIPT代碼:
script?type="text/javascript"?src=""?data-appid="APPID"?data-redirecturi="REDIRECTURI"?charset="utf-8"/script
PS:APPID?和?REDIRECTURI?換成第一步申請(qǐng)所得到的對(duì)應(yīng)內(nèi)容,REDIRECTURI?就是登錄之后返回的回調(diào)地址,在申請(qǐng)頁面自己填寫,一般寫網(wǎng)站主域名即可。注意:回調(diào)地址必須以http或https開頭。
第三步
在頁面放置一個(gè)元素節(jié)點(diǎn)用來展現(xiàn)登錄按鈕,并且指定其ID,如:
div id="qq"/div
然后在頁面加入如下SCRIPT:
script?type="text/javascript"
QC.Login({
btnId:"qq"????//插入按鈕的節(jié)點(diǎn)id
});
/script
這時(shí)就可以在頁面看到如下效果:
如對(duì)這個(gè)展示效果不滿意,也可以自定義登錄按鈕。
第四步
在 ?REDIRECTURI?即回調(diào)地址頁面加入如下SCRIPT:
script?type="text/javascript"
src=""?charset="utf-8"?data-callback="true"/script
另外:官方說法如果回調(diào)地址頁與加入QQ登錄按鈕是同一個(gè)頁面,則只需要引用一次腳本文件。如果理解不了這種官方說法,可以在第一步的腳本中加入data-callback="true"屬性,而忽略第四步,前提是回調(diào)地址頁與加入QQ登錄按鈕的頁面是同一個(gè)頁面。
第五步
因?yàn)镴S SDK封裝了獲取Access Token以及OpenID的方法,因此開發(fā)者不需要用開發(fā)代碼進(jìn)行獲取,直接調(diào)用QQ登錄OpenAPI即可。
調(diào)用OpenAPI時(shí),請(qǐng)統(tǒng)一遵循下述調(diào)用方式:
QC.api(api,?paras,?fmt,?method)
參數(shù)說明:
最后
提供一種代碼接入思路,僅供參考:
QC.api("get_user_info", {}) //get_user_info是API參數(shù)
//指定接口訪問成功的接收函數(shù),s為成功返回Response對(duì)象
?.success(function (s) {
? ? ?//成功回調(diào),通過s.data獲取OpenAPI的返回?cái)?shù)據(jù)
? ? ?nick = s.data.nickname; //獲得昵稱
? ? ?headurl = s.data.figureurl_qq_1; //獲得頭像
? ? ?if (QC.Login.check()) {//判斷是否登錄
? ? ? ? ?QC.Login.getMe(function (openId, accessToken) { //這里可以得到openId和accessToken
? ? ? ? ? ? ?//下面可以調(diào)用自己的保存方法
? ? ? ? ? ? ?……
? ? ? ? ?});
? ? ?}
?})
//指定接口訪問失敗的接收函數(shù),f為失敗返回Response對(duì)象
?.error(function (f) {
? ? ?//失敗回調(diào)
? ? ?alert("獲取用戶信息失敗!");
?});
////指定接口完成請(qǐng)求后的接收函數(shù),c為完成請(qǐng)求返回Response對(duì)象
//.complete(function (c) {
// ? ?//完成請(qǐng)求回調(diào)
// ? ?alert("獲取用戶信息完成!");
//});
使用人人網(wǎng)開發(fā)平臺(tái)提供的API,人人網(wǎng)上有詳細(xì)說明和示例,希望對(duì)你有幫助。
到騰訊開發(fā)者平臺(tái)網(wǎng)站上下載api,查看接口功能與規(guī)范,按照騰訊開放和規(guī)定來寫。祝你好運(yùn)