1. 引言
上一節(jié)我們講解了如何創(chuàng)建微信公眾號(hào)模塊,這一節(jié)我們就繼續(xù)跟進(jìn),來(lái)講一講公眾號(hào)模塊如何與系統(tǒng)進(jìn)行交互。
微信公眾號(hào)模塊作為一個(gè)獨(dú)立的web模塊部署,要想與現(xiàn)有的【任務(wù)清單】進(jìn)行交互,我們要想明白以下幾個(gè)問(wèn)題:
如何進(jìn)行交互?
ABP模板項(xiàng)目中默認(rèn)創(chuàng)建了webapi項(xiàng)目,其動(dòng)態(tài)webapi技術(shù)允許我們直接訪問(wèn)appservice作為webapi而不用在webapi層編寫(xiě)額外的代碼。所以,自然而然我們要通過(guò)webapi與系統(tǒng)進(jìn)行交互。通過(guò)webapi與系統(tǒng)進(jìn)行交互,如何確保安全?
我們知道暴露的webapi如果不加以授權(quán)控制,就如同在大街上裸奔。所以在訪問(wèn)webapi時(shí),我們需要通過(guò)身份認(rèn)證來(lái)確保安全訪問(wèn)。都有哪幾種身份認(rèn)證方式?
第一種就是大家熟知的cookie認(rèn)證方式;
第二種就是token認(rèn)證方式:在訪問(wèn)webapi之前,先要向目標(biāo)系統(tǒng)申請(qǐng)令牌(token),申請(qǐng)到令牌后,再使用令牌訪問(wèn)webapi。Abp默認(rèn)提供了這種方式;
第三種是基于OAuth2.0的token認(rèn)證方式:OAuth2.0是什么玩意?建議先看看OAuth2.0 知多少以便我們后續(xù)內(nèi)容的展開(kāi)。OAuth2.0認(rèn)證方式彌補(bǔ)了Abp自帶token認(rèn)證的短板,即無(wú)法進(jìn)行token刷新。
基于這一節(jié),我完善了一個(gè)demo,大家可以直接訪問(wèn)http://shengjietest.azurewebsites.net/進(jìn)行體驗(yàn)。
下面我們就以【通過(guò)webapi請(qǐng)求用戶(hù)列表】為例看一看三種認(rèn)證方式的具體實(shí)現(xiàn)。
2. Cookie認(rèn)證方式
Cookie認(rèn)證方式的原理就是:在訪問(wèn)webapi之前,通過(guò)登錄目標(biāo)系統(tǒng)建立連接,將cookie寫(xiě)入本地。下一次訪問(wèn)webapi的時(shí)候攜帶cookie信息就可以完成認(rèn)證。
2.1. 登錄目標(biāo)系統(tǒng)
這一步簡(jiǎn)單,我們僅需提供用戶(hù)名密碼,Post一個(gè)登錄請(qǐng)求即可。
我們?cè)谖⑿拍K中創(chuàng)建一個(gè)
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式