1. 程式人生 > >微信授權登陸步驟

微信授權登陸步驟

夥伴們一起做了Javaweb小專案,微信登入授權模組是我負責,給大家普及後順便發到這裡,如果有不足的地方歡迎提出!

進入專案任意頁面

進入專案任意頁面,後臺首先會判斷該使用者是否登入。

若沒有登入(即session中沒有使用者資訊)並且以下兩種情況任意一個時

1.      首次進入該公眾號

2.      授權過期

就進入以下授權頁面。

第一步:使用者同意授權,獲取code

頁面顯示一個讓使用者點選的微信url,讓使用者點選

 

當點選確認授權後,自動跳入後臺寫好的url,獲取到code

code作為換取access_token的票據,每次使用者授權帶上的code將不一樣,code只能使用一次,5分鐘未被使用自動過期。

第二步:通過code獲取網頁授權access_token

然後後臺邏輯再次請求微信的url並拼接code引數,該請求所返回的json串裡含有access_token(介面呼叫憑證)以及openId(使用者與此公眾號的唯一標識)。

access_token有7天有效期。當access_token超時後,可以使用refresh_token進行重新整理,refresh_token有效期為30天,當refresh_token失效之後,需要使用者重新授權。

openId是使用者與此公眾號的唯一標識,永遠唯一且不過期


第三步:通過access_token和openId獲取使用者資訊

後臺邏輯再次訪問微信url並拼接兩個引數,成功會返回下面的包含使用者資訊的json串,將使用者資訊存入資料庫方便以後使用

第四步進入主頁

完成以上授權,獲取到使用者資訊後,標記該請求為已登入狀態(即將使用者資訊放入session),後臺邏輯跳入主頁

授權登陸就此完成。

有興趣繼續看

這次授權了後,以後再次進入該專案,就從cookie中獲取openId,就不用經過步驟一了(清空了cookie?那就再次授權咯),然後根據openid直接從資料庫查到使用者資訊並標記該請求為已登入狀態就可以了

附錄:微信官方文件原文:

上面寫的簡略。如果你很愛學習很渴望力量,具體實現點連結:

 如果有不足的地方歡迎提出!