javascript SDKを使用して、Symfony2.1会社のWebサイトにFacebook接続を実装しています。
私が使用している次のコードは正常に動作します。
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'my-app-id', // App ID
cookie : true,
xfbml : true,
oauth : true
});
};
function after_click() {
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
window.location = "{{ hwi_oauth_login_url('facebook') }}";
}
});
}
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) { window.fbAsyncInit(); return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.onload = window.fbAsyncInit;
js.src = '//connect.facebook.net/fr_FR/all.js';
ref.parentNode.insertBefore(js, ref);
}(document));
</script>
<div class="fb-login-button m_y" scope="email,user_birthday" onlogin="after_click()"></div>
私が直面している問題は、ログイン後にユーザーを現在のページにリダイレクトする方法を必死に探していることです。現在、ユーザーは常に私の Web サイトのホームページにリダイレクトされます。
php sdk を使用するときに redirect-uri パラメータがあることは知っています。js sdk と同様のものを探していますが、見つけるのに苦労していると言わざるを得ません。
はwindow.location = "{{ hwi_oauth_login_url('facebook') }}";
Symfony2 OAuth バンドルから提供され、Facebook 接続の管理に使用されます。ログインが成功した後にリダイレクトする場所をOAuthバンドルに伝える必要があるかもしれませんが、その解決策も実際には見つかりません。
ご意見ありがとうございます。