私のウェブサイトにFacebookのログイン情報を追加したいのですが、私のスクリプトはうまくいきますが、この方法が正しいかどうかわかりません。 。私にはほとんど質問がありません。ウェブサイトにFacebookログインを追加する正当な方法
スクリプト:
function statusChangeCallback(response)
{
if (response.status === 'connected') {
testAPI();
} else if (response.status === 'not_authorized') {
console.log('still not authorized!');
} else {
console.log("not connected, not logged into facebook, we don't know");
}
}
window.fbAsyncInit = function() {
FB.init({
appId : 'APP_ID',
cookie : true,
xfbml : true,
version : 'v2.8'
});
checkLoginState();
FB.AppEvents.logPageView();
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
function checkLoginState() {
FB.getLoginStatus(function(response) {
statusChangeCallback(response);
});
}
function testAPI() {
console.log('Welcome! Fetching your information.... ');
FB.api('/me', { fields: 'name,email,gender' }, function(response) {
console.log('Successful login for: ' + response.name);
document.getElementById('status').innerHTML =
'Thanks for logging in, ' + response.name + '!';
window.location.replace('http://www.example.com');
});
}
ボタンの表示:ログイン成功後
<div class="fb-login-button" data-onlogin="checkLoginState()" data-max-rows="1" data-size="medium" data-button-type="login_with" data-show-faces="false" data-auto-logout-link="false" data-login-text="Sign in with Facebook"></div>
は、私は、電子メールのIDを渡すことで、メンバー-only.phpにリダイレクトします。上記のスクリプトでは、私はwindow.location.replace( 'http://www.example.com')と書いています。 example.comの代わりに、私は私のPHPファイル名を与えることができますか?
appIdはすべての人が見ることができますが、それは問題ありませんか?それとも秘密にしておく必要がありますか?
ユーザーが初めて訪れる場合は、データベースに登録する必要がありますか? 2回目から、そのユーザーをどのように識別できますか?
ありがとうございます。
このクライアントサイドのみを処理するべきではありません。サーバ側の部分にPHP SDKを使用します。共有SDKを使用してJS SDKと一緒に動作します。 – CBroe
これで、ID、電子メール、他の詳細が必要な場合はバックエンドに渡し、ユーザーが初めて訪れた場合、またはユーザーが戻ってきた場合は、データベース内のIDを確認してmembers-only.phpにリダイレクトします。我々はIDだけを確認する?リターンユーザーを形成する?申し訳ありませんが、多くのご質問をいただきましたが、初めて私はfb loginを実装しています。 – Bharath
アクセストークンのみをサーバーに送信し、そこから追加情報を要求します。アプリケーションスコープのユーザーIDをデータベースに格納する(VARCHARまたは類似のデータ型) – CBroe