34C
V2EX  ›  问与答

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

  •  1
     
  •   34C · Jul 19, 2018 · 4825 views
    This topic created in 2882 days ago, the information mentioned may be changed or developed.

    主要是因为最近做企业微信开发的时候,发现 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 replies    2018-07-19 10:09:01 +08:00
    EricFuture
        1
    EricFuture  
       Jul 19, 2018
    这个只要返回错误码为 access_token 无效,再获取一个 access_token 就好了呀
    HanSonJ
        2
    HanSonJ  
       Jul 19, 2018
    awanabe
        3
    awanabe  
       Jul 19, 2018
    用 redis + expire
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5791 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 01:43 · PVG 09:43 · LAX 18:43 · JFK 21:43
    ♥ Do have faith in what you're doing.