微博api - 刷新令牌

时间:2018-03-23 14:50:24

标签: api token refresh-token weibo sinaweibo

是否有人找到了使用微博api刷新令牌的方法?

我在我的网站上实现了身份验证以获取用户令牌,但是在API返回的JSON中,没有“refresh_token”字段。 如果遗漏这些信息,我无法刷新应用用户的令牌。

一旦用户通过身份验证,我需要自动刷新此令牌,因为我在CRON作业中使用它来获取已注册用户的订阅源并将其保存在数据库中。

我使用微博文档https://github.com/xiaosier/libweibo

中提供的facebook sdk

我的身份验证代码如下:

    $o = new SaeTOAuthV2( WEIBO_APP_API_APP_KEY , WEIBO_APP_API_SECRET );
    $code_url = $o->getAuthorizeURL( WEIBO_APP_CALLBACK_URL );
    $error_message = '';
    if (isset($_GET['code']) && empty($val)) {
      $keys = array();
      $keys['code'] = $_GET['code'];
      $keys['redirect_uri'] = WEIBO_APP_CALLBACK_URL;
      try {
              $token = $o->getAccessToken( 'code', $keys );
              //$token['refresh_token_at'] = strtotime('+2 week');
      } catch (OAuthException $e) {
              $error_message = pll__('There was a problem during connection process. Please try again or contact the website administrator');
      }
    }

API返回的json:

{
    "access_token": "2.00pxxxxxxxxxxxxxxxxxxxxxxx",
    "remind_in": "157679999",
    "expires_in": 157679999,
    "uid": "65xxxxxxx",
    "isRealName": "true"
}

我是否遗漏了API文档中的内容?或者这是Oauth模式的特定实现,您必须以另一种方式获取刷新令牌?我在文档中搜索了很多,但无法找到相关的线索。

有一些令人不安的东西,remind_in和expires_in的时间戳在转换为人类可读日期时给出以下日期:1974-12-30 23:59:59

0 个答案:

没有答案