我有 PHP-Class 可以使用 Facebook API:
class Social {
private $name;
private $context;
private $tocken;
public function check(){
$this->tocken = $this->context->getAccessToken(); // get current tocken
if (isset($_SESSION['fb_tocken']) AND !empty($_SESSION['fb_tocken'])){
// session tocken not null
if ($_SESSION['fb_tocken'] == $this->tocken){
// session tocken = current tocken
// update last active
return true;
} elseif ($this->tocken == APPLICATION_TOCKEN) {
// current tocken == default tocken
$this->logout();
} else {
// current tocken <> default tocken
$this->logout();
}
} else {
// session tocken is null
if ($this->tocken == APPLICATION_TOCKEN){
// current tocken is default
return false;
} else {
// current tocken is not default
if ($this->getUserInfo()){
// user registered - login action
if ($this->login())
return true;
else
return false;
} else {
// register new user
if ($this->register()){
if ($this->login()){
return true;
} else
return false;
} else
return false;
}
}
}
}
// ...
};
如果用户使用 alogritm:
1 - 登录 facebook 2 - 登录应用程序 3 - 从 facebook 注销 4 - 登录 facebook 5 - 打开应用程序
应用问题:
第五步后,我的应用无法授权用户。但是如果用户按下“刷新”,他就会被授权。