0

我正在将 Fosuserbundle 和 HWIOAuth Bundle 配置为从 Facebook 和 Google 登录。我面临的问题是:当我尝试通过谷歌帐户登录用户时,当他尚未登录时,当我输入谷歌凭据并按登录时,它显示错误

No route found for GET/

或者有时

No route found for GET/ ( from   wwww.mysite.com/app_dev.php/en/home/ )

它确实将用户信息(例如电子邮件、用户名等)存储在数据库中,当我转到主页时,我发现我自己登录了。

当我尝试登录已经使用 hi google 帐户登录的用户时,它运行良好。

我被这个困住了......一步一步地遵循这个文档。除此以外,一切都运行良好。

您的帮助将不胜感激。

配置.yml

hwi_oauth:
    #this is my custom user provider, created from FOSUBUserProvider - will manage the
    #automatic user registration on your site, with data from the provider (facebook. google, etc.)
    #and also, the connecting part (get the token and the user_id)
    connect:
        account_connector: my_user_provider
    # name of the firewall in which this bundle is active, this setting MUST be set
    firewall_name: main
    fosub:
#        username_iterations: 30
        properties:
            # these properties will be used/redefined later in the custom FOSUBUserProvider service.
            facebook: facebook_id
            google: google_id
    resource_owners:
        facebook:
            type:                facebook
            client_id:           "xxxxxxxxxxxxxxxxxxxxxxx"
            client_secret:       "xxxxxxxxxxxxxxxxxxxxxxx"
            scope:               ""
        google:
            type:                google
            client_id:           "xxxxxxxxxxxxxxxxxxxxxxx"
            client_secret:       "xxxxxxxxxxxxxxxxxxxxxxx"
            scope:               "https://www.googleapis.com/auth/userinfo.email 

--------------------security.yml------------

firewalls:
        main:
            pattern:    ^/
            form_login:
                check_path: /login_check
                login_path: /login
                provider: fos_userbundle

#                always_use_default_target_path: true
#                default_target_path:            /%locale%/home

            oauth:
                resource_owners:
                    facebook:           "/login/check-facebook"
                    google:             "/login/check-google"
                login_path:        /login
                failure_path:      /login

                oauth_user_provider:
                                     #this is my custom user provider, created from FOSUBUserProvider - will manage the
                                     #automatic user registration on your site, with data from the provider (facebook. google, etc.)
                       service: my_user_provider
            logout:
                path:   /logout
                target: /%locale%/home
            anonymous: ~

-----------------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

#HWIOAuthBundle routes
hwi_oauth_security:
    resource: "@HWIOAuthBundle/Resources/config/routing/login.xml"
    prefix: /login

hwi_oauth_connect:
    resource: "@HWIOAuthBundle/Resources/config/routing/connect.xml"
    prefix: /login

hwi_oauth_redirect:
    resource: "@HWIOAuthBundle/Resources/config/routing/redirect.xml"
    prefix:   /login

facebook_login:
    pattern: /login/check-facebook

google_login:
    pattern: /login/check-google
4

0 回答 0