Итак, я собрал пакет FOSFacebook, интегрированный в мое приложение вместе с пакетом FOSUser. Теперь он работает правильно на моем сервере dev минус несколько ошибок, но он работает.Symfony2 - FOSFacebook Bundle - Субдомен
UPDATE: Так почему facebook устанавливает куки в mysite.com.au вместо subdomain.mysite.com, что означает, что он не в состоянии поднять на печенье и переходит на страницу отказа по умолчанию, который /Логин в фейсбук.
Теперь по какой-то причине, когда я развернул его на своем реальном сервере, который имеет тот же адрес (я меняю свой файл хостов для имитации домена), когда я пытаюсь войти в систему, я получаю «Маршрут не найден для« 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
Если вам нужно взглянуть на любые другие файлы, позвольте мне K теперь
Очевидно, что нет маршрута для/facebook/login, но я считаю, что это должно быть так. Любые идеи людей?
Вы должны определить check_path И login_path как маршруты в вашей конфигурации маршрутизации – AlterPHP
У меня есть check_path, определенный как пустой маршрут, и это работает нормально. Если я установил login_path на пустой маршрут, symfony жалуется, что маршрут пуст. Если я приложу к нему действие контроллера и создаю шаблон, он просто отобразит шаблон и ничего не сделает после этого. Что странно, так это то, что на моем сайте разработчика он отправляется на страницу входа в систему, но symfony справляется с этим правильно. На моем живом сервере он просто застрял на этой странице. – CriticalImpact