當前位置:吉日网官网 - 錢幣收藏 - 解決微信授權登陸重復回調的問題

解決微信授權登陸重復回調的問題

有個問題要記錄壹下,就是微信授權登錄之後重復回調的問題。

微信授權的流程是這樣:

鏈接A如下:

REDIRECT_URI就是鏈接B

CODE和STATE都是微信服務器生成的參數。用戶點擊同意授權、繼續訪問,微信服務器就會訪問妳這個URI(鏈接B)了。

接收到壹個access_token和openid

接收壹個含有用戶信息的json。

問題就在第壹步,不知道為啥第二步,點擊“繼續訪問”繼續訪問之後,微信重復地訪問鏈接B。

我壹開始不知道它會重復訪問,設計的是,鏈接B收到請求之後就去拿著code請求access_token和openid,然後拿著access_token和openid去請求userinfo,拿到userinfo之後渲染頁面。

Code在五分鐘內只能被使用壹次。

所以壹旦重復使用code,後面幾次都是獲取不到東西的。

找到這個bug花了我很久……

每收到壹個code,就看看是否已經用過。

如果沒有用過,就把它跟userinfo組成鍵值對,也就是code:userinfo,再把這個對存進壹個變量裏。

如果用過,直接從鍵值對中取出userinfo,不再訪問微信獲取access_token。

完美~

官方文檔:

  • 上一篇:穿襪子的技術男
  • 下一篇:請問《孤膽英雄》的歌詞是什麽?
  • copyright 2024吉日网官网