公众号网页开发流程中,refresh_token 有什么作用?既然调用次数是无上限的,为什么要有一个 refresh_token 呢。
如下: https://open.weixin.qq.com/connect/oauth2/authorize? 这样的调用接口,为什么接口文件可以没有扩展名呢,莫非后台是自己开发的语言?
本人没有编程基础,百思不得其解,路过的老师们,恳请您解惑。
1
kslr 2018-01-30 16:23:45 +08:00
oauth2
route |
2
learnshare 2018-01-30 16:27:24 +08:00
2. URL 或者路径对服务器来说只是一些参数,不需要有对应的文件,所以跟扩展名无关
就像老司机不一定是开车的人那样 |
3
chuixing OP @kslr 公众号授权用的是 oauth2,不过他文档里说调用次数是无限的,所以每次点进去都可以重新获取 access_token,所以我不明白为什么需要 refresh_token
|
4
SourceMan 2018-01-30 17:16:23 +08:00
1. access_token 是要缓存下来的,每次使用都去获取,频率限制,你就 GG 了。这时候,refresh_token 就很有作用了,用来刷新你缓存下来的 access_token (缓存即保存的意思,就像你拿到了藏柜子里一样,懂?)
2. 你的这个问题让我想起了一个笑话:我的 Android 出 bug 了,我把植物大战僵尸的 .exe 安装包改成 .apk 拉到电脑里安装不上去,垃圾小米。后缀名不是关键,那个对于服务器来说只是一串字符串,我 /index.php 的路径可能实际执行的是 JAVA 程序,为什么要改成 .php ,因为 PHP 是世界上最好的语言。同理,没有后缀是因为微信毕竟低调,不想让大家知道他们用的什么后端语言。 |
5
kslr 2018-01-30 17:21:23 +08:00 1
@chuixing #3
access_token 相等于认证后拿到了 token refresh_token 就可以延长这个 token 的生存时间 如果你每次都需要获得 access_token,那就需要用户每次都去确认,这显然设计不合理。 虽然微信这里并不需要确认,但最好还是遵守规范。 另外我记得 access_token 的接口每天调用次数是有限制的,如果你超过了,就不能拿到新 token 业务不就废了吗? |
6
alcarl 2018-01-30 21:15:47 +08:00 via Android 1
oauth2 协议中 access token 是有有效期的,如果过期了,你又不想跳到认证页面重新授权,就需要 refresh token。这和用 access token 访问用户 api 的次数是没有关系的。
|