2012-05-18 5 views
0

사용자가 내 응용 프로그램에 로그인했지만 승인 프로세스를 거치지 않았 으면 대화 상자가 캔버스에서 열리고 캔버스 외부에서 다시로드됩니다. 몇 초 동안 제대로 보이지 않는 것 외에는 모든 것이 예상대로 수행됩니다.인증 대화 상자가 캔버스에 먼저로드됩니다.

인증이 수락되지 않은 것으로 감지되면 내 앱 상단에 header('Location:https://www.facebook.com/dialog/oauth/?client_id=12345678910&redirect_uri=https://apps.facebook.com/namespace/&state=&scope='); 을 사용합니다.

enter image description here

답변

1

나는 항상 캔버스 응용 프로그램이 iframe 내에 이미 becuase 자바 스크립트 리디렉션 사용하고 우리는 인증 대화 상자 상단 창을 리디렉션 할.

echo가 JavaScript 리디렉션을 벗어나는이 PHP 함수를 사용해보세요. window.location.href 반대로 우리가 top.location.href를 사용

function jsRedirect($url){ 
    echo "<script language=javascript>"; 
    echo "top.location.href ='".$url."';"; 
    echo "</script>"; 
    exit(); 
} 

알 수 있습니다.

+1

팁이 완벽합니다. – maxum

+0

걱정할 필요가 없습니다! apps.facebook.com에있을 때 항상 iFrame 안에 있다는 것을 기억하십시오. – Lix

관련 문제