鍍金池/ 問(wèn)答/PHP/ 微信授權(quán)登錄問(wèn)題

微信授權(quán)登錄問(wèn)題

在微信授權(quán)登錄后,刷新頁(yè)面,用戶的openid獲取不到,后來(lái)發(fā)現(xiàn)是因?yàn)樗⑿马?yè)面后,地址欄的code沒(méi)有變,但是卻失效了,我應(yīng)該怎么寫才能保障頁(yè)面刷新可以獲取到用戶的openid!!!

回答
編輯回答
尕筱澄

我是通過(guò)將openid存在一個(gè)隱藏表單里
<input type="hidden" value='openid的值' name="openid"/>

2018年5月9日 11:22
編輯回答
毀了心

第一次獲取openid后前端就保存起來(lái),用戶進(jìn)行刷新操作時(shí),code失效,與后臺(tái)溝通進(jìn)行處理就好。

2018年5月29日 00:30
編輯回答
殘淚

第一次獲取到 openid 后,保存。openid 是不變的,不需要刷新再獲取 。

code是一次作廢.
所以直接刷新, 是不可能用同一個(gè)code再次獲取openid的.

如果想刷新再獲取, 那你需要先跳轉(zhuǎn)到微信, 然后再跳回來(lái), 用新的code獲取openid.

2017年10月24日 20:01
編輯回答
風(fēng)畔

第一次獲取到openid的時(shí)候直接存起來(lái)。就不用再次獲取了

2018年6月27日 10:45
編輯回答
選擇

請(qǐng)注意文檔這句話:

code說(shuō)明 : code作為換取access_token的票據(jù),每次用戶授權(quán)帶上的code將不一樣,code只能使用一次,5分鐘未被使用自動(dòng)過(guò)期

使用過(guò)一次或者5分鐘之內(nèi)沒(méi)有使用,超過(guò)5分鐘則code做廢。這時(shí)候需要重新發(fā)起微信登陸授權(quán)。

2018年5月10日 01:37