因此,我已经将FOSFacebook软件包与FOSUser软件包一起集成到我的应用程序中。现在它在我的开发服务器上正常工作减去了一些错误,但它确实有效。
更新:因此,出于某种原因,facebook将cookie设置为mysite.com.au而不是subdomain.mysite.com,这意味着它无法获取cookie并转到默认值失败页面是/ facebook / login。
现在由于某种原因,当我将其部署到我的实时服务器时,该服务器具有相同的地址(我正在更改我的主机文件以模拟域)当我尝试登录时,我得到了 “找不到”GET / facebook / login“的路线 如果我尝试在dev上访问此页面,我会收到相同的消息,但通常会将我登录,然后将我重定向到索引。 在现场它被卡在/ facebook / login
这是我的security.yml
security:
encoders:
"FOS\UserBundle\Model\UserInterface": sha512
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
providers:
fos_userbundle:
id: fos_user.user_manager
my_fos_facebook_provider:
id: my.facebook.user
factories:
- "%kernel.root_dir%/../vendor/bundles/FOS/FacebookBundle/Resources/config/security_factories.xml"
firewalls:
public:
pattern: ^/
fos_facebook:
app_url: "(set to the apps.facebook link I have)"
server_url: "http://testbed.mysite.com/app_dev.php/"
check_path: /facebook/check
login_path: /facebook/login
default_target_path: /
provider: my_fos_facebook_provider
form_login:
success_handler: authentication_handler
failure_handler: authentication_handler
provider: fos_userbundle
anonymous: true
logout: true
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/testing/secure/, role: IS_AUTHENTICATED_FULLY }
- { path: ^/admin/secure/, role: ROLE_ADMIN }
- { path: ^/account, role: IS_AUTHENTICATED_FULLY }
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: ROLE_ADMIN
如果您需要查看其他任何文件,请告诉我
显然没有/ facebook / login的路线,但我相信它应该是这样的。 人们有什么想法吗?
答案 0 :(得分:0)
只需将login_path定义为security.yml中设置的默认路径:
_security_login:
pattern: /login
requirements:
_scheme: https
_security_check:
pattern: /login_check
requirements:
_scheme: https
_security_logout:
pattern: /logout
requirements:
_scheme: https
如果你需要一些特定的治疗但是你不需要,你可以为login_path定义你自己的控制器!
答案 1 :(得分:0)
事实证明,在我的直播网站上,我忘记了正确地设置参数。所以每当我尝试登录它时都会失败,但实际上从未完全失败。