Symfony FOSFacebookBundle facebook#u登录按钮({';自动链接';:true})不';"t show",;注销“;成功登录后
我已经实现了FOSUserBundle+FOSFacebookBundle,我可以成功注册并登录为普通用户和facebook用户 以facebook用户身份登录后,将创建以下会话:Symfony FOSFacebookBundle facebook#u登录按钮({';自动链接';:true})不';"t show",;注销“;成功登录后,symfony,fosuserbundle,Symfony,Fosuserbundle,我已经实现了FOSUserBundle+FOSFacebookBundle,我可以成功注册并登录为普通用户和facebook用户 以facebook用户身份登录后,将创建以下会话: fbm_uxxxxxx fbsr_uuxxxxxx 模板包含以下代码: {{ facebook_initialize({'xfbml': true, 'fbAsyncInit': 'onFbInit();'}) }} {{ facebook_login_button({'autologoutlink': true})
{{ facebook_initialize({'xfbml': true, 'fbAsyncInit': 'onFbInit();'}) }}
{{ facebook_login_button({'autologoutlink': true}) }}
<script>
function goLogIn(){
window.location = "{{ path('fos_facebook_security_check') }}";
}
function onFbInit() {
if (typeof(FB) != 'undefined' && FB != null ) {
FB.Event.subscribe('auth.statusChange', function(response) {
if (response.session || response.authResponse) {
setTimeout(goLogIn, 5000);
} else {
window.location = "{{ path('fos_user_security_logout') }}";
}
});
}
}
</script>
对于其余文件,请检查用户和Facebook捆绑包的文档。在
Facebook\u initialize
参数中应该有'status':true
{{facebook_initialize({'xfbml':true,'fbasyninit':'onFbInit();','status':true})}
配置
security.yml
services:
my.facebook.user:
class: Strict\UserBundle\Security\User\Provider\FacebookProvider
arguments:
facebook: "@fos_facebook.api"
userManager: "@fos_user.user_manager"
validator: "@validator"
container: "@service_container"
strict_user.my_provider:
class: Strict\UserBundle\Security\User\Provider\StrictProvider
public: false
arguments: ["@fos_user.user_manager"]
security:
factories:
- "%kernel.root_dir%/../vendor/bundles/FOS/FacebookBundle/Resources/config/security_factories.xml"
providers:
chain_provider:
providers: [fos_userbundle, my_fos_facebook_provider]
fos_userbundle:
id: strict_user.my_provider
my_fos_facebook_provider:
id: my.facebook.user
encoders:
"FOS\UserBundle\Model\UserInterface": sha512
firewalls:
public:
pattern: ^/
fos_facebook:
app_url: "http://www.facebook.com/apps/application.php?id="
server_url: "http://localhost/web/app_dev.php"
login_path: fos_user_security_login
check_path: fos_facebook_security_check
default_target_path: homepage
provider: my_fos_facebook_provider
form_login:
login_path: fos_user_security_login
check_path: fos_user_security_check
provider: fos_userbundle
anonymous: true
logout:
path: fos_user_security_logout
target: homepage
services:
my.facebook.user:
class: Strict\UserBundle\Security\User\Provider\FacebookProvider
arguments:
facebook: "@fos_facebook.api"
userManager: "@fos_user.user_manager"
validator: "@validator"
container: "@service_container"
strict_user.my_provider:
class: Strict\UserBundle\Security\User\Provider\StrictProvider
public: false
arguments: ["@fos_user.user_manager"]
security:
factories:
- "%kernel.root_dir%/../vendor/bundles/FOS/FacebookBundle/Resources/config/security_factories.xml"
providers:
chain_provider:
providers: [fos_userbundle, my_fos_facebook_provider]
fos_userbundle:
id: strict_user.my_provider
my_fos_facebook_provider:
id: my.facebook.user
encoders:
"FOS\UserBundle\Model\UserInterface": sha512
firewalls:
public:
pattern: ^/
fos_facebook:
app_url: "http://www.facebook.com/apps/application.php?id="
server_url: "http://localhost/web/app_dev.php"
login_path: fos_user_security_login
check_path: fos_facebook_security_check
default_target_path: homepage
provider: my_fos_facebook_provider
form_login:
login_path: fos_user_security_login
check_path: fos_user_security_check
provider: fos_userbundle
anonymous: true
logout:
path: fos_user_security_logout
target: homepage
对于其余文件,请查看用户和Facebook捆绑包的文档。>我已经实现了FOSUserBundle+FOSFacebookBundle,并且我可以>成功注册并登录为普通用户和Facebook用户。请看这里,您是否配置了此捆绑包您是否解决了问题?如果是的话,我会有兴趣去读的……是的,我读过。阅读我编辑的帖子:“解决了,应该有‘状态’:在facebook中为真。你应该让你的解决方案成为一个答案并接受它。@dan klasson谢谢,我已经添加了一个答案。