www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 公眾號精選 > C語言與CPP編程
[導讀]事情經過 這天中午,小A吃完午飯,攤在自己的躺椅上,想趁吃飽喝足的午后時間靜靜享受獨自的靜謐。 干點什么好呢?小A單手操作鼠標打開了一個陌生而隱秘的網站。正開著某個視頻起勁,突然瀏覽器彈出了一個對話框: 請使用微信掃碼登錄賬號,繼續(xù)觀看 這... 但



事情經過

這天中午,小A吃完午飯,攤在自己的躺椅上,想趁吃飽喝足的午后時間靜靜享受獨自的靜謐。


干點什么好呢?小A單手操作鼠標打開了一個陌生而隱秘的網站。正開著某個視頻起勁,突然瀏覽器彈出了一個對話框:


請使用微信掃碼登錄賬號,繼續(xù)觀看


這...



但是由于強烈的好奇驅使,迫于無奈,小A只好選擇登錄再繼續(xù)觀看。只見他熟練的掏出手機,打開微信掃一掃對準上面的二維碼,只聽見 “叮” 的一聲,網頁上的二維碼放佛活過來了,直接刷新出了小A的微信頭像,同時手機上也彈出登錄的提醒。


小A心中略微驚嘆,但沒來得及多想。忙點擊手機界面中登錄按鈕。此時網頁刷新,恢復了正常,表示可以繼續(xù)觀看。


上網沖浪的時間總是過得很快,小A很快就有些疲倦。他閉上眼睛,腦海中卻浮現出了剛剛微信掃描二維碼,然后登錄網頁的場景,心中再次驚嘆,并開始思考起其中的原理來。


原理解析

微信掃碼登錄現在在日常生活中已經是常見不能再常見的場景之一了,但是要知道微信首次公開這項功能時,卻是驚艷眾人。移動端與PC端以這樣一種巧妙的方式鏈接在了一起,的確是讓人驚嘆。


小A想起來之前聽過的前后端的概念,知道賬戶的數據信息一般都是放在服務器上,前端負責向后端 “討要數據” 并顯示,后端則是對前端的 “討要” 做出反應。這樣一來,小A猜測微信登錄的過程可能就是:


  1. 網頁前端向微信后臺請求賬號數據

  2. 微信后臺接受網頁前端的請求,然后將他的賬號數據返回

  3. 網頁前端接收到了數據后,在瀏覽器里進行顯示


還手腳麻利的畫了個示意圖:



當小A正準備沾沾自喜的時候,突然看到桌面上的手機。咦,如果就只是這么個過程,那手機的作用是啥。他才開始意識到,問題沒這么簡單。


于是,他決定重新探秘微信掃碼登錄的過程。


過程分析


小A打開了一個十分簡潔的網站,說是微信的網頁版,可以微信直接掃碼登錄。


https://wx.qq.com/


小A看著網頁中碩大的二維碼陷入了沉思,他在想這個二維碼跟他的身份有沒有關系呢。如果沒有,那它又是怎么生成的呢。


思考間,小A打開了瀏覽器的開發(fā)者工具。在網絡監(jiān)控一覽找到了這幅二維碼,與之對應的鏈接是


https://login.weixin.qq.com/qrcode/4fhrH4fhTQ==


然后習慣性地,小A嘗試多次刷新頁面,發(fā)現二維碼不斷發(fā)生變化,鏈接也不斷更改。


https://login.weixin.qq.com/qrcode/YdDa9LAqpA==

https://login.weixin.qq.com/qrcode/ofw5oAsMVg==

https://login.weixin.qq.com/qrcode/gaNS_fxO_w==


他似乎發(fā)現了些東西。二維碼不斷變化,其對應的鏈接尾的代碼也相應變化,并且是隨機性的變化。


這也就是說,每一次頁面刷新都會隨機且唯一地生成一個二維碼。這或許可以與手機登錄的過程聯系起來。


小A似乎開始明白了,他隨即再次拿起手機,熟練的使用微信掃描了此時的二維碼。


“?!?的一聲,網頁上的二維碼頓時變成了小A帥氣的微信頭像。這個時候,小A才突然意識到,是掃碼之后網頁才與他的微信賬號建立起了聯系。


沒有掃碼之前,頁面上的二維碼只是隨機生成的且與用戶無關的碼;而當用戶掃碼之后,二維碼便與用戶帳號綁定在了一起。


原來手機掃碼的用處是這樣!


小A此時注意到,手機微信上彈出了『微信登錄確認』的提醒。小A這個時候謹慎地點擊了下方的登錄按鈕。


隨著平滑的動畫一閃而過,網頁上已經顯示出了小A的賬號信息,顯然小A的微信賬號已經登錄。再一次體驗這個過程,小A心中開始思索手機微信在登錄過程中所起到的具體作用。


首先需要明白幾個過程:


  1. 進入網頁登陸界面,隨機生成一個二維碼;

  2. 小A通過手機掃描二維碼,將微信賬號與二維碼綁定;

  3. 小A在手機微信點擊登錄按鈕,授權網頁登錄微信賬號;

  4. 網頁獲得小A的賬號信息,將數據顯示。


原理解釋

小A望著上述過程,結合最開始的原理猜測,開始思索整個環(huán)節(jié)哪里出了差錯。


網頁的二維碼到底從何而來?

是誰向微信后臺請求了賬號數據?


突然,他意識到,不同的網站可能都需要通過微信后臺進行數據的獲取,那么每一個網站必然也存在它的后臺來給微信后臺發(fā)送請求。


這樣一來,整個過程就能解釋得通了!


  1. 網站頁面刷新,網頁后臺向微信后臺請求授權登錄;

  2. 微信后臺返回登錄所需二維碼;

  3. 用戶通過手機掃描二維碼,并在手機上授權登錄后,微信后臺告知網頁后臺已授權;

  4. 網頁后臺向微信后臺請求微信賬號數據;

  5. 微信后臺返回賬號數據;

  6. 網頁后臺接收數據并通過瀏覽器顯示;


技術剖析

小A在想清楚了整個過程后,決定對整個過程的技術實現進行進一步的探究。他打開了微信開發(fā)官方文檔,找到了第三方網站應用微信登錄開發(fā)指南:


https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html


他將整個過程梳理了一遍,畫出了這個圖:




技術實現如下:


一、二維碼的獲得

  1. 用戶打開網站后,網站后臺根據微信OAuth2.0協(xié)議向微信開發(fā)平臺請求授權登錄,并傳遞事先在微信開發(fā)平臺中審核通過的AppIDAppSecrect等參數;

  2. 微信開發(fā)平臺對AppID等參數進行驗證,并向網站后臺返回二維碼;

  3. 網站后臺將二維碼傳送至網站前端進行顯示;


二、微信客戶端授權登錄

  1. 用戶使用微信客戶端掃描二維碼并授權登錄;

  2. 微信客戶端將二維碼特定的uid與微信賬號綁定,傳送至微信開發(fā)平臺;

  3. 微信開發(fā)平臺驗證綁定數據,調用網站后臺的回調接口,發(fā)送授權臨時票據code


三、網站后臺請求數據

  1. 網站后臺接收到code,表明微信開發(fā)平臺同意數據請求;

  2. 網站后臺根據code參數,再加上AppIDAppSecret請求微信開發(fā)平臺換取access_token;

  3. 微信開發(fā)平臺驗證參數,并返回access_token;

  4. 網站后臺收到access_token后即可進行參數分析獲得用戶賬號數據。


在上述過程中,有幾個參數值得解釋一下:(來源官方文檔)


AppID:應用唯一標識,在微信開放平臺提交應用審核通過后獲得

AppSecret:應用密鑰,在微信開放平臺提交應用審核通過后獲得

code:授權臨時票據,第三方通過code進行獲取access_token的時候需要用到,code的超時時間為10分鐘,一個code只能成功換取一次access_token即失效。code的臨時性和一次性保障了微信授權登錄的安全性。


整個過程從網站后臺向微信開發(fā)平臺請求授權登錄開始,最終目的是為了獲得access_token


access_token:用戶授權第三方應用發(fā)起接口調用的憑證


在獲得了access_token后就可以解析用戶的一些基本信息,包括頭像、用戶名、性別、城市等。這樣一來,整個微信掃描登錄的過程就完成了。


研究到這,小A終于大體上對微信掃碼登錄的整個過程有了清晰的認知??雌饋硭坪跻膊浑y,開發(fā)者只需要在網頁后端做好對微信公眾平臺的接口調用即可實現掃碼登錄。


伸了伸懶腰,小A又想到在整個過程中還需要考慮超時的問題。比如二維碼超時未掃描、二維碼掃描后超時授權、獲得access_token后超時等等問題。


揉了揉太陽穴,小A發(fā)現一個簡單的功能實現起來還是需要考慮許多細節(jié),真的是紙上得來終覺淺呀。小A下定決心,下次得少上網沖浪了,花點時間搭個服務器先把微信掃碼登錄過程實現看看。


不過,還得先去在微信開放平臺注冊開發(fā)者帳號,并擁有一個已審核通過的網站應用,并獲得相應的AppIDAppSecret才行。


想了想,還是先睡覺吧。


帥氣的你“在看”我嗎?

免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯系我們,謝謝!

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯合牽頭組建的NVI技術創(chuàng)新聯盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現場 NVI技術創(chuàng)新聯...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉