Facebook ログインを既存のログイン システムに追加したい。
短縮版
ユーザーが facebook にログインしているかどうかを確認します。ユーザーがログインしている場合は、ユーザー ID を取得し、アカウントに接続されているかどうかを確認します。その場合、データを取得してセッション変数を保存し、ユーザーがログインします。
ロングバージョン
登録方法
ユーザーがサインアップをクリックすると、サインアップと Facebook でサインアップする 2 つのオプションがあるページが表示されます。
ユーザーが Facebook でサインアップすることを選択した場合、一部の情報 (電子メールなど) が自動入力され、ユーザーはパスワードとニックネームを入力する必要があります。次に、情報を検証し、有効な場合はユーザー + facebook ユーザー ID を保存します。ユーザーがサインアップを選択した場合、自動入力は行われず、もちろん facebook ユーザー ID は保存されません。
ユーザーがログインしているかどうかを確認する方法:
ユーザーがログインしている場合は、セッション変数が設定されているかどうかを確認します。そうでない場合は、手順 2 に進みます。
Remember me コードを含む Cookie が存在するかどうかを確認します。存在する場合は、コードが有効かどうかを確認し、ユーザーがログイン中であることを確認します。Cookie が存在しない場合は、手順 3 に進みます。
ユーザーが facebook にログインしているかどうかを確認します。ユーザーがユーザー ID を取得し、データベースの行と一致するかどうかを確認します。一致する場合は、セッション変数を保存し、ユーザーがログインしています。そうでない場合は、ログインを表示します。形。
Facebook のユーザー ID を取得するには、次のコードを使用します。
<?php
require_once("facebook.php");
$config = array();
$config['appId'] = 'app id';
$config['secret'] = 'secret app id';
$facebook = new Facebook($config);
$uid = $facebook->getUser();
?>
質問
- これは正しく安全な方法ですか?
- そうでない場合は、正しい方向に私を向けることができますか?
- ユーザー ID を取得する前に、ユーザーは私のアプリを許可する必要がありますよね?
- 上記のコードは localhost では機能しますが、私のサーバーでは機能しません。毎回 0 を返します。解決?
前もって感謝します!