ユーザーが Facebook アカウントを使用して私の Web サイトにログインしようとすると、ユーザー ID をデータベースと照合して登録されているかどうかを確認するスクリプトにリダイレクトしようとしています。ログインをクリックすると、fb資格情報を使用してログインするためのfacebookページが表示されますが、データベースに対してユーザーをチェックするスクリプトを実行するのではなく、mywebsiteのホームページにリダイレクトされます。
これは、ログインを試みるホームページのコードです。
<?php
require '.../src/facebook.php';
$facebook = new Facebook(array(
'appId' => 'APP_ID',
'secret' => 'SECRET',
'cookie' => true,
));
//2. retrieving session
$session = $facebook->getUser();
//3. requesting 'me' to API
$me = null;
if ($session) {
try {
$uid = $facebook->getUser();
$me = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
}
}
//4. login or logout
if ($me) {
$logoutUrl = $facebook->getLogoutUrl(array(
'next'=>'http://.../logout.php'
));
} else {
$loginUrl = $facebook->getLoginUrl(array(
'next'=>'http://.../checkFBLogin.php'
));
}
?>
さらに下に:
<?php if ($me): ?>
<a href="<?php echo $logoutUrl; ?>">Logout with Facebook</a>
<?php else: ?>
<a href="<?php echo $loginUrl; ?>">Login with Facebook</a>
<?php endif ?>
また、Facebook にログインする前に私のデータベースをチェックして、私の Web サイトに登録されているかどうかを確認する方法があるかどうかを知っておくと役立ちます.