PHP判断微信开发是否已经授权过的问题

现在的项目需求是,只要进入网站 就要自动登录,前提是必须先获得openid,但是不是每次都去获得openid吧,因为第二次访问 微信会提示:XX近期已授权什么的。有没有什么方法能直接判断是否已授权过。

第1个回答  推荐于2017-11-27
由于access_token拥有较短的有效期,当access_token超时后,可以使用refresh_token进行刷新,refresh_token拥有较长的有效期(7天、30天、60天、90天),当refresh_token失效的后,需要用户重新授权。
但是,自动登录没有必要每次都去获取用户信息,只用openid即可。
一、当注册时就将用户所有信息和openid存储
二、每次通过静默snsapi_base授权获取用户openid(即微信网页授权到第二步,就不需要往下进行了)
三、存在openid自动登录,不存在去注册追问

你好,现在的问题是openid不知道怎么存储

追答

与用户信息以前存数据库,就相当于username一样,十一个身份识别。
通过授权获取的openid用session,然后与数据匹配就行了呀

追问

其实我本来想保存到cookie里,但是微信内置的浏览器的cookie跟session一样,一退出就没了。

追答

是已退出就没有了
但是每次点击URL进入,都是通过静默授权拿到openid的,这就不重要了。
不管你分享出去还是被的方式,这个URL都是授权URL,不是你真实页面的URL。
所以,只需要存数据库每次判断一下URL就行了。

本回答被提问者和网友采纳
相似回答