Facebook PHP SDK zum Umgang mit Access Tokens

Ich habe viele verschiedene Antworten durchforstet, bin aber immer noch ein bisschen verwirrt, wie ich mit Facebook umgehen sollZugriffstoken. Eines der Hauptprobleme ist, welche Informationen in meinem Browser gespeichert sind. Wenn ich mich beispielsweise bei der App anmelde, läuft das Token ab und ich kann mich erst wieder anmelden, wenn ich die Cookies / App-Einstellungen im Browser lösche.

Ich bin über diesen Thread gestolpert:So verlängern Sie die Gültigkeit des Zugriffstokens seit dem Verfall von offline_access

Was mir gezeigt hat, wie man einen erweiterten Zugriffstoken über PHP erstellt.

Meine Fragen sind:

1. Muss ich das Zugriffstoken irgendwo speichern?

2. Was passiert, wenn das Zugriffstoken abläuft oder ungültig wird? Im Moment funktioniert meine App einfach nicht mehr, wenn die Kurzzeitzugriffsrechte abgelaufen sind.

3. Gibt es eine Möglichkeit, mit ihnen umzugehen, um zu überprüfen, ob sie abgelaufen sind? Ich benutze das PHP-SDK und habe im Grunde genommen den Standard if ($ user) verwendet ... wie folgt:

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...
}
Gibt es noch etwas, was ich tun sollte, um mit Token umzugehen?

. Sollte ich das Zugriffstoken zwischen den Seiten weitergeben oder ist es in Ordnung, es oben auf jeder Seite wie folgt erneut aufzurufen:

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

Antworten auf die Frage(2)

Ihre Antwort auf die Frage