Reputation: 23
I'm trying to merge FOSFacebookBundle and FOSUserBundle. FosUserBundle alone is working perfectly but when i trying integrate facebookbundle with him im getting route error.I'm using Symfony 2.3.4
Cannot import resource "@FOSFacebookBundle/Resources/config/routing.xml" from "C:/xampp/htdocs/Symfonia/app/config\routing.yml". Make sure the "FOSFacebookBundle/Resources/config/routing.xml" bundle is correctly registered and loaded in the application kernel class.
I have 4 spacebar in every place of routing.yml. Ofcourse I implemented it in AppKernel.php
My routing.yml:
fos_user_security:
resource: "@FOSUserBundle/Resources/config/routing/security.xml"
fos_user_profile:
resource: "@FOSUserBundle/Resources/config/routing/profile.xml"
prefix: /profile
fos_user_register:
resource: "@FOSUserBundle/Resources/config/routing/registration.xml"
prefix: /register
fos_user_resetting:
resource: "@FOSUserBundle/Resources/config/routing/resetting.xml"
prefix: /resetting
fos_user_change_password:
resource: "@FOSUserBundle/Resources/config/routing/change_password.xml"
prefix: /profile
_welcome:
pattern: /
defaults: { _controller: AcmeUserBundle:Welcome:index }
_security_check:
pattern: /login_fb_check
_security_logout:
pattern: /logout
fos_facebook_channel:
resource: "@FOSFacebookBundle/Resources/config/routing.xml"
Config.yml
imports:
- { resource: parameters.yml }
- { resource: security.yml }
services:
my.facebook.user:
class: Acme\UserBundle\Security\User\Provider\FacebookProvider
arguments:
facebook: "@fos_facebook.api"
userManager: "@fos_user.user_manager"
validator: "@validator"
framework:
#esi: ~
translator: { fallback: %locale% }
secret: %secret%
router:
resource: "%kernel.root_dir%/config/routing.yml"
strict_requirements: ~
form: ~
csrf_protection: ~
validation: { enable_annotations: true }
templating:
engines: ['twig']
#assets_version: SomeVersionScheme
default_locale: "%locale%"
trusted_proxies: ~
session: ~
fragments: ~
http_method_override: true
# Twig Configuration
twig:
debug: %kernel.debug%
strict_variables: %kernel.debug%
# Assetic Configuration
assetic:
debug: %kernel.debug%
use_controller: false
bundles: [ ]
#java: /usr/bin/java
filters:
cssrewrite: ~
#closure:
# jar: %kernel.root_dir%/Resources/java/compiler.jar
#yui_css:
# jar: %kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar
# Doctrine Configuration
doctrine:
dbal:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: %database_name%
user: %database_user%
password: %database_password%
charset: UTF8
# if using pdo_sqlite as your database driver, add the path in parameters.yml
# e.g. database_path: %kernel.root_dir%/data/data.db3
# path: %database_path%
orm:
auto_generate_proxy_classes: %kernel.debug%
auto_mapping: true
# Swiftmailer Configuration
swiftmailer:
transport: %mailer_transport%
host: %mailer_host%
username: %mailer_user%
password: %mailer_password%
spool: { type: memory }
fos_user:
db_driver: orm
firewall_name: main
user_class: Acme\UserBundle\Entity\User
fos_facebook:
alias: facebook
app_id: 123456879
secret: s3cr3t
cookie: true
permissions: [email, user_birthday, user_location]
and my security.yml
security:
providers:
chain_provider:
chain:
providers: [fos_user_bundle, my_fos_facebook_provider]
fos_user_bundle:
id: fos_user.user_provider.username
my_fos_facebook_provider:
id: my.facebook.user
encoders:
FOS\UserBundle\Model\UserInterface: sha512
firewalls:
main:
pattern: ^/
form_login:
provider: chain_provider
csrf_provider: form.csrf_provider
fos_facebook:
app_url: "http://apps.facebook.com/appName/"
server_url: "http://localhost/facebookApp/"
login_path: /login
check_path: /login_fb_check
default_target_path: /
provider: chain_provider
logout: true
anonymous: true
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/, role: ROLE_ADMIN }
- { path: ^/facebook/, role: [ROLE_FACEBOOK] }
- { path: ^/.*, role: [IS_AUTHENTICATED_ANONYMOUSLY] }
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: ROLE_ADMIN
Thanks for any help !
Upvotes: 1
Views: 2250
Reputation: 179
It seems that the latest stable release of the bundle matching version 1.2.* does not include the routing file, so if you are using composer and the minimum stability is set to "stable" (as it is by default) then just reference the bundle allowing the dev stability like this:
require {
...,
"friendsofsymfony/facebook-bundle": "1.2.*@dev"
}
then just update the bundle using composer:
php composer update friendsofsymfony/facebook-bundle
This way the problem will not be replicated to other developers working on the same project when they clone the repo and install verdors via composer in their own locar working directory.
Upvotes: 1
Reputation: 38
I had the same problem, solved just now.
It seems that the routing.xml
file is not downloaded, search for it in the folder \vendor\friendsofsymfony\facebook-bundle\FOS\FacebookBundle\Resources\config
of your app.
If is not here, then simply download it and copy it from the repository "https://github.com/FriendsOfSymfony/FOSFacebookBundle/blob/master/Resources/config/routing.xml"
routing.xml
as below:
<?xml version="1.0" encoding="UTF-8" ?>
<routes xmlns="http://symfony.com/schema/routing"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
<route id="fos_facebook_channel" pattern="/channel.html">
<default key="_controller">FOSFacebookBundle:Facebook:channel</default>
<requirement key="_method">GET</requirement>
</route>
</routes>
Upvotes: 2
Reputation: 1060
just go through this link and check the routing and config file's
FOSFacebookBundle and FOSUserBundle
and for more description
https://github.com/FriendsOfSymfony/FOSFacebookBundle/tree/2.0#include-the-login-button-in-your-templates
and make sure with that
Add this bundle to your application's kernel:
// app/ApplicationKernel.php
public function registerBundles()
{
return array(
// ...
new FOS\FacebookBundle\FOSFacebookBundle(),
// ...
);
}
Upvotes: -1