2017-07-15 40 views
7

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.

Odpowiedz