если залогинены , тогда генерим линк на сайт , если нет линк на логин PHP: <? if ( $Fb['profile']) { $this -> SetAppLg ($Fb['profile']['locale']); $sql = Sql::getInstance('horo'); $Fb ['profile'] ['Token'] = $facebook ->getAccessToken() ; $this -> AutoregFbUser ( $Fb ['profile']); $this -> AutoLogin ($Fb ['profile'] ); $this -> setVar ('logoutLink', true ); if ( $_SERVER['SERVER_PORT'] == '443' ) $this -> setVar ('redirect','https://'. facebook::getConfig( "domain" ) .'/'); else $this -> setVar ('redirect','http://'. facebook::getConfig( "domain" ) .'/'); } else { if ( $_SERVER['SERVER_PORT'] == '443' ) $this -> setVar ( 'loginLink' , $facebook-> getLoginUrl ( array ( 'canvas' => 1, 'scope' => 'email,offline_access,publish_stream,user_birthday', 'redirect_uri' => 'https://'.facebook::getConfig( "domain" ).'/?m=fblogin', )) ); else $this -> setVar ( 'loginLink' , $facebook-> getLoginUrl ( array ( 'canvas' => 1, 'scope' => 'email,offline_access,publish_stream,user_birthday', 'redirect_uri' => 'http://'.facebook::getConfig( "domain" ).'/?m=fblogin', //после страницы логина данные , залогинен или нет , отправятся опять сюда ))); } $this -> output ( "fbapp" ); далее передаёт линки сюда PHP: <? header('P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"'); if (isset ($loginLink) ) { ?> <script type="text/javascript"> top.location.href='<?echo $loginLink?>' </script> <? } if (isset($logoutLink)){?> <script type='text/javascript'> top.location.href = '<?echo $redirect?>' </script> <?}?> время от времени какимто образом зацикливаются редиректы и адрес постоянно меняется , а ингода нет - даже понять не могу от чего так . Пытался симитрировать условия зацикливание - не вышло .