javascript - 微信公眾號開發,如何使使用者保持登入狀態

來源:互聯網
上載者:User
使用者將openid與業務帳號綁定一次,如何?使用者一直處於登入狀態?更換手機後?
用於網頁授權使用者資訊的access_token是怎麼緩衝和維護的?儲存在seesion嗎?
中session會話什麼時候會失效?(比如PC端關閉瀏覽器)

回複內容:

使用者將openid與業務帳號綁定一次,如何?使用者一直處於登入狀態?更換手機後?
用於網頁授權使用者資訊的access_token是怎麼緩衝和維護的?儲存在seesion嗎?
中session會話什麼時候會失效?(比如PC端關閉瀏覽器)

使用者將openid與業務帳號綁定一次,如何?使用者一直處於登入狀態?更換手機後?

  • 方法1:將號認證一下,使用OAuth介面,每次進入之前通過介面擷取到使用者的openid,然後再從你的資料庫去讀取關係,寫入使用者登入狀態。

  • 方法2:使用者點擊菜單或者發送關鍵詞是可以擷取到使用者的openid的,此時返回一個連結或圖文訊息,使用者點擊之後用get方式擷取到openid,然後再從你的資料庫去讀取關係,寫入使用者登入狀態。

商業產品正式使用推薦方法1。
個人做著玩玩的話推薦方法2。

用於網頁授權使用者資訊的access_token是怎麼緩衝和維護的?儲存在seesion嗎?

用於網頁授權使用者資訊的access_token是必須要進行緩衝的,這個每日有介面頻率限制,所以你必須緩衝這個。
存在Memcache或redis等快取服務,或者……你存到某個檔案也行。
session一般是用來做使用者會話,放到這裡不保證可用,或者說這麼做很奇怪。其他朋友補充下吧。

中session會話什麼時候會失效?(比如PC端關閉瀏覽器)

的session和PC沒關係啊。。
session什麼時候到期這個說不來,和你伺服器設定和自己都有關係吧我覺得。
cookie的話有一種很奇怪的到期方式,在很久以前的舊版本裡很無厘頭,經常是關了視窗就關了。

以上。

第1個問題:openid與業務帳號綁定,這個和使用者是否一直處理登入狀態有什麼關聯嗎?openid帳號與每個公眾號是唯一對應關係的,哪怕你取消追蹤後,再次關注,這個使用者的號與你的公眾號之間的openid也是不變的。
第2個問題:access_token有很多種方式可以緩衝和維護,我通常會優先使用memcache(例如sinaapp開發,為key設定一個到期時間,小於的7200),或是xml檔案,甚至有些網站會使用資料庫。
第3個問題:公眾號介面是無狀態的會話,不存在session狀態。如果是指自己開發的網站在中開啟的session,失效就是你關閉網頁時。
但這種情況會因為你手機對駐留背景允許或禁止影響,例如你本來未關閉網頁,但是你將視窗縮到後台,結果被安全軟體把進程清理了,這時候也會失效。

其實樓主是想問使用者綁定帳號以後,讓使用者一直處於登入狀態。

這裡好像沒有好的辦法的。會話是無狀態的,如果想讓使用者感覺著是一直登入狀態,中間還得於系統進行一次互動才可以,在自訂菜單上可以通過自動回複關鍵字來實現這一點,其它沒有找到好的解決辦法,不互動你是根本無法知道使用者是誰的

登入(所有的第三方登入)都不存在登入狀態,擷取使用者資訊都是要通過介面傳遞openid。(具體可以看看auth2.0)。
access_token 要儲存到資料庫,而不是session。可以用refresh_token 來重新整理access_token(授權成功只會會同時給access_token 和refresh_token)。
你先需要理清楚登入的流程。

通過網頁授權介面取到code,換取openid,然後由後端傳給前端,儲存在本地。每次使用者訪問帶著openid去訪問後端介面,如何判定到該openid已經綁定業務帳號,就預設處於登入狀態。如果前端取不到openid,就再次走網頁授權介面最終擷取到openid.暫時是這麼做的

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.