-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
第三方平台refresh_token的保存问题 #798
Comments
refresh-token 是固定的吧?只有重新授权才会变更
|
嗯?是这样吗,我测试一下先 |
@mingyoung refresh-token 不是固定的,每次刷新后都会变。 @liuguangw 在分布式系统中,你需要etcd或redis等有状态应用对 token对进行保存。每次刷新过程,更新etcd或redis的token对。 |
@lisiqing |
@mingyoung Wechat的token机制和OAuth的标准差别好大啊。 发现,整个国内开发环境都不怎么遵循RFC标准,参数命名各成一派。(难道是国内开发者看不懂英文...) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
我用的环境
PHP 版本:7.0
overtrue/wechat 版本:composer安装的最新版
问题及现象
第三方平台refresh_token的保存问题,
根据微信开发平台的第三方平台文档,第三方平台代公众号实现业务时,需要公众号的access_token,access_token是有时间限制的,过期了之后,可以调用刷新接口,重新获取新的access_token。
根据你们的文档,调用授权方api只需要两个参数: 公众号的appid和公众号的refresh_token,因此可以推测出你们是内部刷新的,我也看了一下你们的
相关代码,发现确实如此,但是这样就一个问题,如果用refresh_token刷新,并获取到了新的access_token,那么我们数据库内保存的公众号的refresh_token就会失效,然而你们却并没有一个接口,让我们读取新的refresh_token,那么公众号的refresh_token如何去保存呢
所以我认为这里有一个bug,我决定应该在renew里面应该加入下面代码,从而让我们判断refresh_token有没有改变,然后更新数据库内的数据
The text was updated successfully, but these errors were encountered: