• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    PythonWebsocket實現掃碼二維碼登錄---GoEasy

    來源:懂視網 責編:小采 時間:2020-11-27 14:27:13
    文檔

    PythonWebsocket實現掃碼二維碼登錄---GoEasy

    PythonWebsocket實現掃碼二維碼登錄---GoEasy:最近在做一個掃碼登錄功能,為此我還在網上搜了一下關于微信的掃描登錄的實現方式。當這個功能完成了后,我決定將整個實現思路整理出來,方便自己以后查看也方便其他有類似需求的程序猿些。要實現掃碼登錄我們需要解決兩個問題:1. 在沒有輸入用戶名及密碼的
    推薦度:
    導讀PythonWebsocket實現掃碼二維碼登錄---GoEasy:最近在做一個掃碼登錄功能,為此我還在網上搜了一下關于微信的掃描登錄的實現方式。當這個功能完成了后,我決定將整個實現思路整理出來,方便自己以后查看也方便其他有類似需求的程序猿些。要實現掃碼登錄我們需要解決兩個問題:1. 在沒有輸入用戶名及密碼的

    最近在做一個掃碼登錄功能,為此我還在網上搜了一下關于微信的掃描登錄的實現方式。當這個功能完成了后,我決定將整個實現思路整理出來,方便自己以后查看也方便其他有類似需求的程序猿些。
    要實現掃碼登錄我們需要解決兩個問題:
    1. 在沒有輸入用戶名及密碼的情況下,如何解決權限安全問題?換句話講,如何讓服務器知道掃碼二維碼的客戶端是一個合法的用戶?
    2. 服務器根據用戶在客戶端的選擇如何實時在網頁上作出相應的響應?

    首先我們先理一下微信的實現思路,來方便我們理解解決這一難題的思路方向。微信登錄的二維碼實際上是將一個URL轉換成二維碼的形式,而通過微信客戶端掃碼后,無非就是打開了這個url, 我捕捉到的微信二維碼的url為https://login.weixin.qq.com/l/YdmTu30I5A== ,這個url里的YdmTu30I5A==代表的是本次會話的唯一ID, 這個有點兒類似瀏覽器里的session id,通過這個ID,微信就能定向將確認結果反饋到網頁上。使用微信二維碼登錄功能,需要有兩個前提:一是客戶端上需要安裝微信app。二是用戶需要登錄到到微信app。https://wx.qq.com/

    Python Websocket消息推送

    為什么要有這兩個條件呢?那是因為微信在確認是否允許登錄到網頁版的時候,微信需要提取當前app的登錄信息并將上面的session ID一并發給服務器,這樣服務器收到了登錄信息和sessionID后就可以確認兩件事:一是用來確認登錄的客戶端的用戶是驗證過的;二是通過session ID服務器知道將反饋結果推送到哪個網頁。

    所以針對第一點,我們的關鍵在于,在掃描前要確保用戶是已經被驗證過且合法的用戶(驗證方式可以是用戶名+密碼,也可以是一個secure key),在選擇是否登錄時將這個結果一并推送到服務器端,就好了。如果用戶沒有驗證是否合法,可以像微信的處理方式一樣直接告訴用戶二維碼不可識別或提示請先登錄到app。

    有了身份驗證,那么現在就解決第二個問題,如何將反饋結果實時地顯示在網頁上呢?有朋友可能會說,客戶端這邊很簡單發一個請求到后臺就好了,而網頁上用ajax定時發送到服務器端看是否有反饋。我不贊成這種做法,因為ajax輪詢方式十分消耗客戶端和服務器端資源!這里涉及到另一個技術-web實時推送技術,使用推送技術可以節約服務器端和客戶端的資源,可以穩定地推送和接收任何消息。我在實現的過程中我采用了第三方推送服務-GoEasy推送,用它是實現非常簡單,我們項目里的其他功能也用到了GoEasy web實時推送服務,所以在此我直接就用的GoEasy推送來將登錄反饋結果推送到服務器。我的實現步驟非常簡單,將傳送的session ID作為客戶端與網頁端的通信channel,網頁端訂閱用session ID作為值得channel,客戶端將驗證結果和session ID發送到服務器端,服務器端可以通過這個channel主動將結果推送給網頁版!如果客戶端也需要做相應的反饋的話,那么客戶端也只需要訂閱這個channel,然后服務器端會同時將結果推送給網頁版和客戶端,收到消息后,就可以根據需求在goeasy的回調函數里做你想做的事情了。關于goeasy推送的使用,大家可以參考這篇博客: http://www.cnblogs.com/jishaochengduo/articles/5552645.html,另外GoEasy推送官網上也有一個demo:GoEasy二維碼掃碼登錄demo,大家可以去看看效果.

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    PythonWebsocket實現掃碼二維碼登錄---GoEasy

    PythonWebsocket實現掃碼二維碼登錄---GoEasy:最近在做一個掃碼登錄功能,為此我還在網上搜了一下關于微信的掃描登錄的實現方式。當這個功能完成了后,我決定將整個實現思路整理出來,方便自己以后查看也方便其他有類似需求的程序猿些。要實現掃碼登錄我們需要解決兩個問題:1. 在沒有輸入用戶名及密碼的
    推薦度:
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 精品福利一区二区三区| 91自慰精品亚洲| 亚洲精品成人av在线| 最新精品露脸国产在线 | 午夜天堂精品久久久久| 99熟女精品视频一区二区三区| 欧产日产国产精品精品| 亚洲国产精品日韩| 国产午夜亚洲精品国产成人小说 | 久久91精品国产91久久户| 麻豆亚洲AV永久无码精品久久| 日本精品视频在线观看| 午夜精品美女写真福利| 国产精品国产亚洲精品看不卡| 一本之道av不卡精品| 久久久亚洲精品蜜桃臀| 国产在线观看一区精品| 国产精品国产三级在线高清观看| 国产乱码精品一区二区三区四川人| 精品久久久久久中文字幕人妻最新| 中文字幕无码精品三级在线电影 | 国精品无码一区二区三区左线| 亚洲欧洲国产精品香蕉网| 精品国产青草久久久久福利| 国产激情精品一区二区三区| 国产精品你懂的在线播放| 亚洲精品你懂的在线观看 | 亚洲国产精品久久久久网站| 99久久国语露脸精品国产| 国产精品区免费视频| 国产午夜无码精品免费看| 久久精品国产99久久无毒不卡| 亚洲中文字幕无码久久精品1| 亚洲国产精品国产自在在线| 久久夜色精品国产| 久久久久久久亚洲精品| 久久综合精品国产一区二区三区| 国产综合免费精品久久久| 精品久久久无码中文字幕天天| 国产精品亚洲玖玖玖在线观看| 亚洲一区精品中文字幕|