熱文推薦
- 深圳網(wǎng)站建設(shè)好處,提升企業(yè)網(wǎng)站建…
- 選擇合適的深圳網(wǎng)站制作公司:如何…
- 為什么深圳企業(yè)需要重視網(wǎng)站SEO優(yōu)…
- 制作網(wǎng)頁(yè)的基本步驟是什么
- 深圳網(wǎng)站設(shè)計(jì)中主色與輔色如何協(xié)調(diào)…
- 如何利用深圳網(wǎng)站制作提升品牌知名…
- 如何通過(guò)SEO優(yōu)化提升深圳網(wǎng)站的用…
- 深圳做網(wǎng)站哪家知名?深圳網(wǎng)站做的…
- 企業(yè)網(wǎng)站設(shè)計(jì)中的SEO與用戶(hù)體驗(yàn)雙…

微信access_token設(shè)計(jì)的原理解析
2017/1/14 11:26:00 來(lái)源:網(wǎng)站建設(shè)公司
內(nèi)容摘要:深圳專(zhuān)業(yè)的網(wǎng)站建設(shè)公司,業(yè)務(wù)包含網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)等服務(wù)的高端網(wǎng)站建設(shè)公司。為企業(yè)提供網(wǎng)站建設(shè)一站式服務(wù)。
微信access_token設(shè)計(jì)的原理解析1、access_token是加密的字符串,其目的是為了接口安全考慮,不然隨便就能調(diào)用微信服務(wù)器的接口會(huì)有很大風(fēng)險(xiǎn)。
2、用戶(hù)在公眾號(hào)中填寫(xiě)的Token就相當(dāng)于本項(xiàng)目中的xiaoming,是簽名驗(yàn)證中的一個(gè)參數(shù),來(lái)保證簽名的安全。
3、EncodingAESKey由開(kāi)發(fā)者手動(dòng)填寫(xiě)或隨機(jī)生成,將用作消息體加解密密鑰。
4、signature:微信加密簽名,signature結(jié)合了開(kāi)發(fā)者填寫(xiě)的token參數(shù)和請(qǐng)求中的timestamp參數(shù)、nonce參數(shù)。
5、timestamp:時(shí)間戳。
6、nonce:隨機(jī)數(shù)。
7、echostr:隨機(jī)字符串。
8、微信signature加密/校驗(yàn)流程:
?。?)將token、timestamp、nonce三個(gè)參數(shù)進(jìn)行字典序排序。
?。?)將三個(gè)參數(shù)字符串拼接成一個(gè)字符串進(jìn)行sha1加密。
?。?)開(kāi)發(fā)者獲得加密后的字符串可與signature對(duì)比,標(biāo)識(shí)該請(qǐng)求來(lái)源于微信。
9、OpenID:為了識(shí)別用戶(hù),每個(gè)用戶(hù)針對(duì)每個(gè)公眾號(hào)會(huì)產(chǎn)生一個(gè)安全的OpenID,OpenID是使用用戶(hù)微信號(hào)加密后的結(jié)果,每個(gè)用戶(hù)對(duì)每個(gè)公眾號(hào)有一個(gè)的OpenID,開(kāi)發(fā)者可通過(guò)OpenID來(lái)獲取用戶(hù)基本信息。
10、UnionID:用來(lái)區(qū)分用戶(hù)的性,因?yàn)橹灰峭粋€(gè)微信開(kāi)放平臺(tái)帳號(hào)下的移動(dòng)應(yīng)用、網(wǎng)站應(yīng)用和公眾帳號(hào),用戶(hù)的UnionID是的。換句話(huà)說(shuō),同一用戶(hù),對(duì)同一個(gè)微信開(kāi)放平臺(tái)帳號(hào)下的不同應(yīng)用,UnionID是相同的。
11、AppID:接口身份證號(hào)。
12、AppSecret:密碼。
13、access_token:公眾號(hào)的全局票據(jù)(登陸后的憑據(jù),證明你已經(jīng)登陸,相當(dāng)于你拿著票去看演唱會(huì),說(shuō)明你已經(jīng)買(mǎi)票了,才會(huì)讓你進(jìn))。
14、expires_in:access_token過(guò)期時(shí)間,因?yàn)檫@里是第三方服務(wù)器調(diào)用,所以微信服務(wù)器必須返回告知給第三方服務(wù)器過(guò)期時(shí)間,從而讓第三方服務(wù)器更好處理。
15、access_token使用注意事項(xiàng):
?。?)為了保密appsecrect,第三方需要一個(gè)access_token獲取和刷新的中控服務(wù)器。而其他業(yè)務(wù)邏輯服務(wù)器所使用的access_token均來(lái)自于該中控服務(wù)器,不應(yīng)該各自去刷新,否則會(huì)造成access_token覆蓋而影響業(yè)務(wù)。
(2)目前access_token的有效期通過(guò)返回的expire_in來(lái)傳達(dá),目前是7200秒之內(nèi)的值。中控服務(wù)器需要根據(jù)這個(gè)有效時(shí)間提前去刷新新access_token。在刷新過(guò)程中,中控服務(wù)器對(duì)外輸出的依然是老access_token,此時(shí)公眾平臺(tái)后臺(tái)會(huì)保證在刷新短時(shí)間內(nèi),新老access_token都可用,這保證了第三方業(yè)務(wù)的平滑過(guò)渡。
?。?)3、access_token的有效時(shí)間可能會(huì)在未來(lái)有調(diào)整,所以中控服務(wù)器不僅需要內(nèi)部定時(shí)主動(dòng)刷新,還需要提供被動(dòng)刷新access_token的接口,這樣便于業(yè)務(wù)服務(wù)器在A(yíng)PI調(diào)用獲知access_token已超時(shí)的情況下,可以觸發(fā)access_token的刷新流程。
16、access_token兩小時(shí)過(guò)期時(shí)間的設(shè)計(jì)原因(網(wǎng)絡(luò)解釋?zhuān)篴ccess_token的過(guò)期也是為安全考慮。
?。?)想象一種情況,我授權(quán)了一個(gè)應(yīng)用,它拿到了我的access_token,然后我忘記我授權(quán)過(guò)了,于是我以后每次發(fā)布的內(nèi)容都被它拿去存起來(lái),或者它利用我的賬號(hào)偷偷的發(fā)消息,我一點(diǎn)都不知道。這種情況還是很可怕的。
(2)如果只是做登錄,確實(shí)不需要accesstoken,因?yàn)橐呀?jīng)有openid或者uid跟你的用戶(hù)對(duì)應(yīng)起來(lái)了。但是,這是授權(quán)行為啊,意味這第三方應(yīng)用可以拿著accesstoken去取你的數(shù)據(jù)啊。所以這里就需要時(shí)效性來(lái)保證安全了。
17、微信access_token兩小時(shí)過(guò)期時(shí)間的設(shè)計(jì)原因(自我理解):微信的token兩小時(shí)刷新一次是因?yàn)榈谌椒?wù)器接入微信服務(wù)器,目的是獲取微信服務(wù)器中的數(shù)據(jù),也就是所謂的第三方登陸,用戶(hù)通過(guò)第三方服務(wù)器登陸,第三方服務(wù)器再去微信平臺(tái)獲取數(shù)據(jù),這樣就需要一個(gè)授權(quán)的過(guò)程,也就是說(shuō)微信服務(wù)器同意你某個(gè)第三方服務(wù)器獲取數(shù)據(jù)才行,為了把控這個(gè)授權(quán)過(guò)程,不會(huì)因?yàn)槭跈?quán)之后就一直能獲取微信服務(wù)器數(shù)據(jù)這種情況的發(fā)生,所以才有了兩小時(shí)刷新一次。
18、微信服務(wù)器接口訪(fǎng)問(wèn)次數(shù)限制:微信服務(wù)器接口訪(fǎng)問(wèn)限制次數(shù)是為了防止第三方服務(wù)器因?yàn)槌绦蝈e(cuò)誤無(wú)限調(diào)用微信服務(wù)器從而使得微信服務(wù)器崩潰,所以才有的訪(fǎng)問(wèn)次數(shù)限制。
19、簽名驗(yàn)證:驗(yàn)證消息的確來(lái)自微信服務(wù)器(本項(xiàng)目中為:驗(yàn)證參數(shù)的確來(lái)自于本項(xiàng)目安卓客戶(hù)端)。
http://www.dongguanlifeng.com/jianzhanzhishi/7174.html 微信access_token設(shè)計(jì)的原理解析
特別聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):0755-85297058;郵箱:2295772445#qq.com (#替換成@)。
標(biāo)簽:
相關(guān)新聞
- 2023年深圳網(wǎng)站設(shè)計(jì)成功要素盤(pán)點(diǎn)
- 從設(shè)計(jì)到優(yōu)化:如何在深圳打造高效的網(wǎng)站
- 深圳網(wǎng)站設(shè)計(jì)中常見(jiàn)的誤區(qū),你避開(kāi)了嗎?
- 打造深圳地區(qū)最具創(chuàng)意的網(wǎng)站:設(shè)計(jì)與技術(shù)的完…
- 深圳網(wǎng)站設(shè)計(jì)的色彩心理學(xué):如何利用色彩吸引…
- 響應(yīng)式設(shè)計(jì)在深圳網(wǎng)站設(shè)計(jì)中的應(yīng)用
- 如何選擇適合深圳企業(yè)的網(wǎng)頁(yè)設(shè)計(jì)公司?
- 如何通過(guò)深圳網(wǎng)站設(shè)計(jì)提升品牌信任度?