Korzystam z interfejsu API LinkedIn, aby pobierać tam aktualizacje i wyświetlać je na stronie internetowej. Podczas korzystania z protokołu OAuth przechowuję token w pliku, a następnie ponownie go przeciągam, aby zapobiec wyświetlaniu okna logowania. Nie jestem jednak pewien, kiedy mój token wygaśnie, w jaki sposób zostanie odświeżony. Poniżej znajduje jak czytam token z pliku -Moduł API LinkedIn OAuth odświeżania
$config = json_decode(file_get_contents(".service.dat"));
if(isset($config->key) && isset($config->secret)) {
$this->access_token = new OAuthConsumer($config->key, $config->secret);
}
przypadku uwierzytelniania Mam następujący uzyskać tokenu żądania -
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);
}
Po wygenerowaniu tokenu, jestem generting zezwolić url:
function generateAuthorizeUrl()
{
$consumer = $this->consumer;
$request_token = $this->request_token;
return $this->authorize_path . "?oauth_token=" . $request_token->key;
}
Dokumentacja LinkedIn zawiera następujące informacje na temat odświeżania tokena:
Odświeżanie tokenu dostępu jest bardzo proste i może się zdarzyć bez pojawienia się okna dialogowego autoryzacji użytkownika dla użytkownika . Innymi słowy, jest to bezproblemowy proces, który nie ma wpływu na użytkownika aplikacji. Po prostu prześlij zgłoszenie przez autoryzację flow, aby pobrać nowy token dostępu z dodatkowym 60-dniowym okresem życia wynoszącym .
Nie jestem pewien, co to oznacza. Czy muszę powtórzyć cały proces od otrzymania tokena żądania, czy nie wymagałoby to ponownego wysłania żądania http i konieczności wyskakiwania ekranu logowania? Jak tego uniknąć? Doceni to sugestię.
Dzięki.