private static function loginFromJs2($fb_graph_user, $accessToken) { $fb_email = $fb_graph_user->getEmail(); IubarFattureApp::getInstance()->log->debug("Calling LoginModel::loginExternal()"); $login_successful = LoginModel::loginExternal($fb_email, UserModel::PROVIDER_TYPE_FB); // check login status: if true, then redirect user to user/index, if false, then to login form again if ($login_successful) { IubarFattureApp::getInstance()->log->debug("Login successfully"); if (self::FORCE_TOKEN_REFRESH_AFTER_LOGIN) { // Scambio l'access token con uno a lunga durata, lo salvo nel db e aggiorno l'oggeto Facebook. IubarFattureApp::getInstance()->log->debug("Exchange access short live token '" . $accessToken . "' for a long live one"); $accessToken = self::getExtendAccessToken($accessToken); // ask FB for a long-lived token IubarFattureApp::getInstance()->log->debug("New log live token: '" . $accessToken . "'"); Session::set(Session::FACEBOOK_ACCESS_TOKEN, (string) $accessToken); // qui il cast è obbligatorio perchè $accessToken è un oggetto } $scope = null; // TODO: $expire_date = null; // TODO: ExternalModel::writeAccessTokenToDb($fb_email, $accessToken, $scope, $expire_date, UserModel::PROVIDER_TYPE_FB); self::getFb()->setDefaultAccessToken($accessToken); $fb_id = $fb_graph_user->getId(); $fb_display = $fb_graph_user->getName(); $fb_pic_url = $fb_graph_user->getPicture()->getUrl(); Session::set(Session::FACEBOOK_DISPLAY_NAME, $fb_display); Session::set(Session::FACEBOOK_PICTURE, $fb_pic_url); Session::set(Session::FACEBOOK_ID, $fb_id); } return $login_successful; }