2012-08-01 2 views
0

내 페이스 북 계정에 로그인하지 않으면 내 응용 프로그램을 볼 수있어 URL을 쓰는 데 문제가 있습니다. 즉, 페이스 북의 "익명 사용자"가 내 응용 프로그램을 볼 수 있습니다.로그인하지 않은 사용자는 페이스 북에서 내 응용 프로그램을 볼 수 있습니다.

내가 아는 것은 로그인 한 사용자가 내 애플리케이션을 볼 수 없으며 페이스 북에 로그인하도록 리디렉션되는 것을 어떻게 방지합니까?

내 페이스 북 응용 프로그램 구성으로 할 수 있습니까? 또는 SDK 또는 JS Facebook으로 프로그래밍해야합니까? 누구나 할 수있는 페이지 나 예제를 추천 할 수 있습니까?

참고 : 저는 PHP 용 CodeIgniter를 사용합니다. 다른 사용자가 응용 프로그램을 볼 수없는 경우

+0

당신은 그들이 당신에게 앱을 "볼"수 있다고 말합니다. 그것이 표시하고있는 내용을 의미합니까? 그리고 이것은 그것을 승인 한 사람들만을위한 것이어야합니다. – TommyBs

+0

@TommyBs 아니요. 내 애플리케이션이 모든 사용자의 콘텐츠를 표시하고 기록되며 NO는 페이스 북 계정에 로그인하지 않았습니다. 내 응용 프로그램의 URL 만 입력하면 볼 수 있습니다. 내 목표는 사용자가 로그인하지 못하도록 방지하는 것입니다. 응용 프로그램을 볼 수 있습니다. 가장 바람직한 것은 Facebook 로그인으로 리디렉션됩니다. – user6964

답변

0

사용자가 로그인했는지 확인하기 위해 SDK를 제대로 사용하지 않는 것처럼 들리네요. Yo 그러면 기본적으로 if-else 문에 콘텐츠를 래핑해야합니다. PHP는 약

include "facebook.php"; 
    $facebook = new Facebook(array("appId"=>YOUR_APP_ID, "secret"=>YOUR_SECRET)); 
    $me = $facebook->getUser(); 
    $user = false; 
    if($me){ // still try and get user as getUser could return valid result 
    try{ 
    $user = $facebook->api('/me'); 
    catch(facebookAPIException $e){ 
    $user = false; 
    $me = false; 
    } 
} 


if($user){ // display your content here 

}else{// user not logged in 
    header("Location:".$facebook->getLoginUrl()); 
} 

위의 예는 가장 단순한 형태에 있지만 정보 : 플러그인이 사용중인 CodeIgniter를위한 그러나 PHP-SDK에 존재하는 경우는 단순한는이 같은 약관을의에 나는 잘 모릅니다 SDK는 여기 https://developers.facebook.com/docs/reference/php/이고 예제를 보려면 다운로드 할 수 있습니다. 내가 말했듯이 이것은 codeigniter에 통합되어 있지 않고 그냥 psuedo 코드 다. 코드의 일부를 붙여 넣은 경우, 특히 codeigniter에서 더 많은 경험을 가진 다른 사람을 위해이 문제를 해결하는 데 도움이 될 수 있습니다. 하지만 내게는 사용자가 있는지 확인하지 않고보고 내용을 중지시키는 성명서에 내용을 전달하거나 감싸는 것처럼 들리는 것 같습니다. 캔버스 앱에서 어떻게 작동하는지 모르겠지만 웹 사이트 인증을 위해이 기능이 작동한다는 것을 알고 있습니다. 위의 캔버스 앱인 경우 앱의 '인증 된 추천'체크 박스를 선택하거나 사용자가 인식되지 않으면 JS sdk를 사용하여 리디렉션 할 수 있습니다.

0

, 당신은 거의 확실 샌드 박스 모드에서 응용 프로그램을 데리고 잊어 버린 또는 인구 통계 학적을 제한 한 - 응용 프로그램 설정에서

{편집을 그 변경 : 당신이했습니다 귀하의 질문을 이전과 거의 반대가되도록 수정했습니다

PHP 샘플 응용 프로그램에는 현재 사용자가 귀하의 응용 프로그램을 사용하는지 확인하는 코드가 포함되어 있으며이 경우에는 다른 작업 (인증 대화 상자로 리디렉션 포함)을 수행 할 수 있습니다

관련 문제