首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
华为云
V2EX  ›  问与答

[微信开发] 请问你们都是怎么管理 Access Token 的?企业微信的蛋疼设计…

  •  1
     
  •   34C · 123 天前 · 709 次点击
    这是一个创建于 123 天前的主题,其中的信息可能已经有所发展或是发生改变。

    主要是因为最近做企业微信开发的时候,发现 Access Token 的有效期机制,和公众号不一样,所以想问问各位,你们的项目中都是怎么管理 Access Token 的?

    公众号:

    • 在有效期内刷新,得到新的 Access Token
    • 定时任务每小时刷新一次就行了

    企业微信:

    • 在有效期内刷新,得到相同的 Access Token,相当于是给上一个 Access Token 续命了;
    • 超出第一个的有效期之后,再刷新,可以得到新的 Access Token,同时上一个 Access Token 仍然可用;
    • 此时有两个 Access Token 同时可用,而前面那个 Access Token 失效时间未知…
    • 这样一来公众号的那套管理机制就有可能出 bug 了

    在企业微信的开发文档中还有这么一句话:

    • 企业微信可能会出于运营需要,提前使 access_token 失效,开发者应实现 access_token 失效时重新获取的逻辑。

    这让我很蛋疼…

    expires_in 可能提前失效,提前刷新又会导致 expires_in 延续,延续之后什么时候失效又不一定,那 expires_in 的作用到底是什么…

    3 回复  |  直到 2018-07-19 10:09:01 +08:00
        1
    EricFuture   122 天前
    这个只要返回错误码为 access_token 无效,再获取一个 access_token 就好了呀
        2
    HanSonJ   122 天前
        3
    awanabe   122 天前
    用 redis + expire
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   706 人在线   最高记录 3821   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 16ms · UTC 18:58 · PVG 02:58 · LAX 10:58 · JFK 13:58
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1