바라건대 이것은 빠르고 쉽습니다.Facebook PHP SDK - 새 브라우저 세션 중에 다시 인증해야합니까?
session_start();
include("facebook.php");
$facebook = new Facebook(array(
'appId'=>'xxxxx50274xxxxx',
'secret'=>'xxxxxb932d62fbc6287feb18e5exxxxx',
'cookie'=>true
));
$fbuser = $facebook->getUser();
if (empty($fbuser)){
$fbloginurl=$facebook->getLoginURL();
echo "<html><body><a href='$fbloginurl'>Click</a></body></html>
} else {
die("Authenticated");
}
이 예에서 FB 계정에 액세스 할 수있는 권한을 앱에 부여하는 링크를 처음 클릭하면 모든 것이 정상적으로 작동합니다. 페이지를 새로 고칠 수 있으며 인증 된 확인 메시지가 표시됩니다.
그러나 브라우저를 다시 시작할 때마다 (새 세션 시작) 앱을 자동으로 인증하지 않으므로 링크를 다시 클릭해야합니다. 물론 링크를 클릭하자마자 바로 소스 페이지로 리다이렉션되어 "인증 된"확인 메시지가 나타납니다.
새 브라우저 세션 중에 인증 링크를 클릭하여 자동으로 인증 할 필요가없는 방법이 있습니까? PHP 헤더 지시문없이이 작업을 수행해야합니다. 사용자가 직접 클릭하여 응용 프로그램에 대한 권한을 부여하기를 원하기 때문입니다.
FB 로그인은 계속됩니다 ("로그인 상태 유지"옵션이 선택되어 있음).
도움을 주셔서 감사합니다.
John, 나는 같은 "문제"가 있다고 생각하지만 JS 리디렉션을 사용하여 해결합니다. 이렇게하면 최종 사용자에게는 사실상 보이지 않습니다. 그러나, 제 경우에는 자동 리디렉션을 명시 적으로 피하려고합니다. –