我正在尝试使用Facebook的C#包装器。如果我验证用户并获得accessToken,我想存储accessToken,以便我可以访问我自己的个人Facebook内容(如照片等)。但是,accessToken会在一段时间后失效。我怎样才能确保它没有?
答案 0 :(得分:2)
由于各种原因,用户的访问令牌可能会变为无效。在大多数情况下,如果超过“过期”字段指定的时间,它们可能会过期(默认情况下,访问令牌的生命周期为2小时)。许多开发人员没有意识到,如果用户更改了密码,注销或取消授权,访问令牌也会过期应用程序仪表板上的应用程序。您的应用处理此类情况非常重要。如果您的访问令牌过期,则需要重新获取有效的访问令牌。 [1]
答案 1 :(得分:2)
如果您请求并获取offline_access扩展权限,那么您将收到一个非过期访问令牌。甚至这些非过期的离线访问令牌也可以通过emaillenin描述的一些操作(密码更改,应用删除/取消身份验证)无效
答案 2 :(得分:0)
我在授权我的网络应用后存储Facebook应用/用户访问令牌。
稍后,当用户重新登录我的WebApp帐户时,我会检查我的appDatabase中的用户访问令牌是否与php-sdk一起调用accessToken,如下所示:
$facebook = new Facebook($SimpleConnectConfig);
if ($facebook->getAccessToken() == $databaseFBuserAccessToken){
echo '<a href="'.$facebook->getLoginUrl($appArrayPermsScope).'">
Link a Facebook Account
</a>;
}else{
echo '$facebook->api($user.'/permissions','DELETE');';
}
取消识别我的Facebook应用程序