I can integrate fosuserbundle and hwioauthbundle based on danvbe's documentation. I can login by username/password, facebook and twitter. I also can connect the username to his facebook/twitter account. For example at the user profile page, I try to connect my username with my facebook account. after it connected, I stuck on the page (the url : http://localhost/Projects/symfony/web/app_dev.php/connect/service/facebook?key=12345678) with a message be displayed on the page 'Successfully connected the account 'my account'!'. there is no button to redirect to anywhere. how to redirect to the user profile page? Here are my settings: security.yml:
providers:
fos_userbundle:
id: fos_user.user_provider.username_email
firewalls:
main:
pattern: ^/
form_login:
provider: fos_userbundle
login_path: /login
csrf_provider: form.csrf_provider
logout: true
anonymous: true
oauth:
resource_owners:
facebook: "/login/check-facebook"
twitter: "/login/check-twitter"
login_path: /login
use_forward: false
failure_path: /login
default_target_path: /profile
oauth_user_provider:
service: tf_user_provider
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
hwi_oauth_redirect:
resource: "@HWIOAuthBundle/Resources/config/routing/redirect.xml"
prefix: /connect
hwi_oauth_login:
resource: "@HWIOAuthBundle/Resources/config/routing/login.xml"
prefix: /login
hwi_oauth_connect:
resource: "@HWIOAuthBundle/Resources/config/routing/connect.xml"
prefix: /connect
hwi_oauth_facebook_login:
pattern: /connect/facebook
facebook_login:
pattern: /login/check-facebook
twitter_login:
pattern: /login/check-twitter
config.yml:
fos_user:
db_driver: orm
firewall_name: main
user_class: Acme\UserBundle\Entity\User
registration:
form:
type: tf_user_registration
profile:
form:
type: tf_user_registration
hwi_oauth:
firewall_name: main
resource_owners:
facebook:
type: facebook
client_id: "id"
client_secret: "secret"
scope: ""
twitter:
type: twitter
client_id: "id"
client_secret: "secret"
fosub:
# try 30 times to check if a username is available
username_iterations: 30
#mapping between resource owners and properties
properties:
facebook: facebookId
twitter: twitterId
# if you want to use 'connect' and do not use the FOSUB integration, configure these separately
connect:
account_connector: tf_user_provider
confirmation: true # should show confirmation page or not
# optional HTTP Client configuration
http_client:
timeout: 100
verify_peer: true
ignore_errors: true
max_redirects: 5
Take a look at this:
So I put
target_path_parameter: _destination
, used someJS
to add this parameter to URL, and it worked!