easywechat icon indicating copy to clipboard operation
easywechat copied to clipboard

如何强制刷新access_token

Open hihuangwei opened this issue 2 years ago • 10 comments

我用的环境

  • PHP 版本:8.0
  • overtrue/wechat 版本:6.7.3
  • 是否使用了框架?框架名称:Laravel 9.0

问题及现象

如何强制刷新access_token

hihuangwei avatar Aug 26 '22 12:08 hihuangwei

{"errcode":40001,"errmsg":"invalid credential, access_token is invalid or not latest rid: 630b6db2-67134d6f-09abfa92"}

过期或失效无法自动刷新,或者提供强制刷新的api

hihuangwei avatar Aug 28 '22 13:08 hihuangwei

哪个模块啊

overtrue avatar Aug 28 '22 14:08 overtrue

哪个模块啊

$response = $api->get('/cgi-bin/user/info', [
            'query' => [
                'openid' => $weChatUser['open_id'],
                'lang' => 'zh_CN',
            ],
        ]);

hihuangwei avatar Aug 28 '22 14:08 hihuangwei

公众号还是小程序还是企业微信还是开放平台

overtrue avatar Aug 28 '22 14:08 overtrue

公众号还是小程序还是企业微信还是开放平台

公众号

hihuangwei avatar Aug 28 '22 14:08 hihuangwei

https://easywechat.com/6.x/official-account/config.html#%E9%85%8D%E7%BD%AE 配置里启用自动重试

overtrue avatar Aug 28 '22 14:08 overtrue

https://easywechat.com/6.x/official-account/config.html#%E9%85%8D%E7%BD%AE 配置里启用自动重试

开启重试,依然还是40001

hihuangwei avatar Aug 30 '22 11:08 hihuangwei

如果凭证本身就有问题重试多次也无效,先检查配置吧

overtrue avatar Sep 01 '22 06:09 overtrue

注意cache的序列化问题,特别是跨多个服务器环境的共享

zymeli avatar Sep 08 '22 13:09 zymeli

还是希望可以提供手动刷新的接口,方便 access_token 过期刷新

hihuangwei avatar Sep 13 '22 13:09 hihuangwei

https://github.com/w7corp/easywechat/blob/6.x/src/OfficialAccount/AccessToken.php#L101

$app->getAccessToken()->refresh();

overtrue avatar Sep 26 '22 10:09 overtrue