Facebook PHP SDK que trata con los tokens de acceso

He rastreado muchas respuestas diferentes, pero todavía estoy un poco confundido con cómo debo tratar con Facebooktokens de acceso. Uno de los principales problemas que tengo es debido a la información que se almacena en mi navegador. Por ejemplo, inicio sesión en la aplicación, el token caduca, no puedo iniciar sesión nuevamente a menos que borre las cookies / configuración de la aplicación en el navegador.

Me tropecé con este hilo:Cómo extender la validez del token de acceso desde la desactualización offline_access

Lo que me ha mostrado cómo crear un token de acceso extendido a través de php.

Mis preguntas son:

1. ¿Necesito almacenar el token de acceso en algún lugar?

2. ¿Qué sucede cuando el token de acceso caduca o deja de ser válido? En este momento, mi aplicación simplemente deja de funcionar cuando caducan las de acceso a corto plazo.

3. ¿Hay alguna forma en que deba manejarlos para verificar si han caducado? Estoy usando el sdk php y básicamente he usado el estándar if ($ user) ... Así:

require 'sdk/src/facebook.php';

  $facebook = new Facebook(array(
  'appId'  => 'XXXXXXXXXXXXXXXXXXXXX',
  'secret' => 'XXXXXXXXXXXXXXXXXXXXX',
));

  $user = $facebook->getUser();

  if( $user ){
    try{
        $user_profile = $facebook->api('/me');
    } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
    }
  }

  if (!$user){

    $params = array(
    'scope' => 'email',
    );

    $loginUrl = $facebook->getLoginUrl( $params );
        echo '<script type="text/javascript"> 
                window.open("'. $loginUrl .'", "_self"); 
                </script>';
                exit;

 } 
     if( $user ){

    $access_token = $facebook->getExtendedAccessToken();     

     $get_user_json = "https://graph.facebook.com/me?access_token=" 
       . $access_token;

// Rest of my code here...
}
¿Hay algo más que deba hacer para manejar tokens?

. ¿Debería pasar el token de acceso entre páginas o está bien volver a llamar en la parte superior de cada página de esta manera?

$facebook = new Facebook(array(
  'appId'  => 'XXXXXXXXXXXX',
  'secret' => 'XXXXXXXXXXXX',
  'redirect_uri' => 'http://localhost:8000/',
));
     $token = $facebook->getExtendedAccessToken();

Respuestas a la pregunta(2)

Su respuesta a la pregunta