Я использую LinkedIn API, чтобы получать обновления оттуда и отображать их на веб-сайте. При использовании OAuth я сохраняю токен в файле, а затем снова извлекаю его оттуда, чтобы предотвратить всплывающее окно входа в систему. Однако мне не ясно, когда истечет срок действия моего токена, как он будет обновляться. Ниже показано, как я читаю токен из файла:
$config = json_decode(file_get_contents(".service.dat"));
if( isset($config->key) && isset($config->secret) ) {
$this->access_token = new OAuthConsumer($config->key, $config->secret);
}
Для аутентификации у меня есть следующее, чтобы получить токен запроса -
function getRequestToken()
{
$consumer = $this->consumer;
$request = OAuthRequest::from_consumer_and_token($consumer, NULL, "GET", $this->request_token_path);
$request->set_parameter("oauth_callback", $this->oauth_callback);
$request->sign_request($this->signature_method, $consumer, NULL);
$headers = Array();
$url = $request->to_url();
$response = $this->httpRequest($url, $headers, "GET");
parse_str($response, $response_params);
$this->request_token = new OAuthConsumer($response_params['oauth_token'], $response_params['oauth_token_secret'], 1);
}
После создания токена я создаю URL-адрес авторизации:
function generateAuthorizeUrl()
{
$consumer = $this->consumer;
$request_token = $this->request_token;
return $this->authorize_path . "?oauth_token=" . $request_token->key;
}
В документации LinkedIn говорится следующее о токене обновления:
Обновление токена доступа очень просто и может происходить без отображения диалогового окна авторизации для пользователя. Другими словами, это непрерывный процесс, который не влияет на взаимодействие с пользователем вашего приложения. Просто дайте вашему приложению пройти процесс авторизации, чтобы получить новый токен доступа с дополнительным 60-дневным сроком жизни.
Я не понимаю, что это значит. Если мне придется повторить весь путь от получения токена запроса снова, тогда разве это не потребует от меня повторного запроса http и необходимости всплывающего экрана входа в систему? Как мне этого избежать? Буду признателен за предложение.
Спасибо.