기본 Facebook 로그인 버튼을 설정하려고합니다. , 유일한 차이가 나는 하나 개의 파일에 설정 모든 것을 시도하고있다 https://developers.facebook.com/docs/php/howto/example_facebook_login올바른 페이스 북 PHP SDK 로그인 경로
(그래서 한 자리에서 코드에 로그인하는 모든 사회를 유지할 수) :
이 내가 복사하고있어 기본적으로 링크를 만들고 사용자를 모두 리디렉션하기를 바라고 있습니다.
처리기에서 생성 한 페이지를 클릭하면 "죄송합니다.이 페이지를 사용할 수 없습니다."라는 메시지가 나타납니다.
트위터 흐름은 기본적으로 동일합니다 (문제없이 완벽하게 작동합니다). oauth 토큰을 데이터베이스에 저장합니다. 아직까지는 페이스 북 부분을 아직 수행하지 않았습니다. 그것은 저장 테이블을 저장합니다, 그냥 토큰과 함께 oauth 공급자 또는 무언가를 저장합니다.
switch(strtolower($_REQUEST['method'])) {
case 'twitter':
/*ommited, but it's basically the same flow*/
break;
case 'facebook':
// if we don't have a step, we don't know what to do
if (!isset($_REQUEST['step'])) {
die('Fail: invalid step: (none)');
}
// we'll be using the Facebook PHP SDK
require(FACEBOOK_SDK_PATH);
switch(strtolower($_REQUEST['step'])) {
case 1:
// instantiates a new SDK App object
$fb = new Facebook\Facebook([
'app_id' => FACEBOOK_APP_ID,
'app_secret' => FACEBOOK_APP_SECRET,
'default_graph_version' => '2.0'
]);
// gets helper
$helper = $fb->getRedirectLoginHelper();
// optional permissions parameter
// we want the users email address
$permissions = ['email'];
// generates the url for the user to authorize access
$loginUrl = $helper->getLoginUrl('http://localhost/social-login.php?method=facebook&step=2', $permissions);
// redirect user
header('Location: ' . $loginUrl);
break;
case 2:
// this should include an access token so we can get information about the user and consider them authenticated
echo '<pre>';
var_dump($_SESSION);
var_dump($_REQUEST);
echo '</pre>';
die();
break;
default:
die('Fail: invalid step: ' . $_REQUEST['step']);
}
break;
default:
die('Fail: invalid method . ' . $_REQUEST['method']);
}
나는 위의 문서 부어했습니다 그냥 실종 알아낼 수 없습니다
여기에 요점입니다. 앱 측의 설정 일 수 있습니까? localhost 콜백 문제가 있습니까?
앱이 (2.0)으로 설정되면 무엇이든 기본값 그래프 버전과 일치했습니다. 나는 내가 그것을 바꿀 수 있는지 모르겠다. 2.2와 2.5를 사용하는 많은 코드를 보았고, 그것이 내 이슈의 일부가 될 수 있는지를 알 수 없다. 나는 추측하지 않을 것이다. 그러나 나는 여기에 메모를 남길 것이라고 생각했다.
- 어디에서 :
당신은
v
을 포함해야합니까? 앱에서 명시 적으로 출력하는 메시지입니까? 또는 브라우저의 기본 오류 페이지를 참조하고 있습니까? 브라우저의 dev 도구 네트워크 패널에서 무슨 일이 일어나고 있는지 확인하십시오. 거기에 500이나 다른 서버 측 오류가 있습니까? 서버의 로그 파일을 확인하십시오. – CBroe@CBroe SDK에서 생성 한 URL로 리디렉션 할 때 표시되는 메시지입니다. http://i.imgur.com/XWhpDpb.png – Jeff