Facebook объявил, что все приложения должны перейти на OAuth 2.0 к 1 октября 2011 года
1 октября 2011 г. Миграция OAuth 2.0 Как мы объявили в мае, все приложения
должен перейти на OAuth 2.0 для аутентификации и ожидать зашифрованного
токен доступа Старые SDK, включая старый JS SDK и старый iOS SDK
больше не будет работать.
Подробнее здесь: https://developers.facebook.com/docs/oauth2-https-migration/
Теперь меня сильно смущают разные потоки и версии. У меня происходит простая аутентификация, которая выглядит примерно так (я удалил ненужные части)
## setup ###
$url = "https://graph.facebook.com/oauth/authorize?client_id=".$this->appid."&redirect_uri=".$myurl;
header("Location: $url");
exit();
и когда пользователь возвращается ...
## authentication check ##
$code = isset($_GET["code"]) ? $_GET["code"] : false;
if(!$code) {
// user has not authenticated yet, lets return false so setup redirects him to facebook
return false;
}
$url = "https://graph.facebook.com/oauth/access_token?client_id=".$this->appid."&redirect_uri=";
$redirecturl = urlencode($redirecturl);
$url .= $redirecturl;
$url .= "&client_secret=".$this->secret;
$url .= "&code=".$code;
$data = $this->get_data($url); // fetches content over https
parse_str($data,$data);
$token = $data['access_token'];
$data = $this->get_data('https://graph.facebook.com/me?access_token='.urlencode($token));
$data = json_decode($data);
$id = $data->id;
if($id > 0) {
// yeah authenticated!
} else {
// login failed
}
Готов ли этот метод к принудительной миграции?