I am using the PHP Facebook SDK. When I receive a user token, I attempt to extend it as suggested like so:
$fb_config = array('appId' => $app_id, 'secret' => $secret);
$facebook = new Facebook($fb_config);
$facebook->setAccessToken($token);
if ($facebook->setExtendedAccessToken() !== false)
echo "New token is $facebook->getAccessToken()";
When I check the token (which, in my experience, is usually different than the incoming token) against the facebook debugger*, the expiration is usually, "Never." However, with certain Facebook users, then new extended token still expires in "about an hour." I've noticed this happens with newer Facebook users, although that could be a coincidence.
*Sorry, I apparently don't have the reputation to post more than 2 links in a question