0

对于用户登录,我正在尝试添加谷歌身份验证。

我将 HWIOAuthBundle 配置为他们的文档。一切都顺利配置和运行。

google验证提示/connect/google后,重定向到以下URL(空白页) http://local.xxx.com/app_dev.php/login/check-google?code=4/jUTU2hoQfOiNMUfKJX_bLfCDVoAr.UpnObn7cHC4XOl05ti8ZT3bVT-SeiQI

我正在使用 FOSUserBundle。

这是我的 config.yml,

fos_user:
    db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel'
    firewall_name: main
    user_class: Techy\VisaBundle\Entity\User
    from_email:
       address: x@techy.com
       sender_name: Techy Registration
    registration:
        confirmation:
            enabled:    true
    from_email:
                address:        xx@techy.tn
                sender_name:    Techy Registration        
    # Facebook configuration
fos_facebook:
  alias:  facebook
  app_id: xx
  secret:  xx
  cookie: true
  permissions: [email, user_hometown, user_location]

services:
        fos_facebook.user.login:
            class: Techy\VisaBundle\Security\User\Provider\FacebookProvider
            arguments:
                facebook: "@fos_facebook.api"
                userManager: "@fos_user.user_manager"
                validator: "@validator"
                container: "@service_container"

        hwi_oauth.user.provider.entity:
              class: HWI\Bundle\OAuthBundle\Security\Core\User\OAuthUserProvider
        ib_user.oauth_user_provider:
              class: Techy\VisaBundle\Security\User\Provider\OAuthProvider
              arguments: [@session, @doctrine, @service_container]         
hwi_oauth:
    firewall_name: main
    resource_owners:
        google:
            type: google
            client_id:  xx.apps.googleusercontent.com
            client_secret: xxxxxxx
            scope: "https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile"



    fosub:
        username_iterations: 5
        properties:
            google: googleId        

安全.yml

    chainprovider:
              chain:
                  providers: [fos_userbundle, fos_facebook_provider,my_custom_hwi_provider]

    fos_userbundle:
      id: fos_user.user_manager
    fos_facebook_provider: 
       id:  fos_facebook.user.login

    my_custom_hwi_provider:
        id: ib_user.oauth_user_provider    
firewalls:

    dev:
        pattern:  ^/(_(profiler|wdt)|css|images|js)/
        security: false

    login:
        pattern:  ^/demo/secured/login$
        security: false

    secured_area:
        pattern:    ^/secured
        #anonymous: ~
        http_basic:
            realm: "Secured Area"
    main:
        pattern: ^/
        fos_facebook:
          app_url: "http://www.facebook.com/apps/application.php?id=xx"
          server_url: "http://xx.com/app_dev.php/"
          login_path: fos_user_security_login
          check_path: _security_check
          provider: fos_facebook_provider
          default_target_path: /

        form_login:
              provider: fos_userbundle
              login_path: fos_user_security_login
              check_path: fos_user_security_check
              default_target_path: /
              csrf_provider: form.csrf_provider
              failure_path:   null

        oauth:
            resource_owners:
                google: "/login/check-google"
            login_path: /login
            failure_path: /login
            oauth_user_provider:
                service: ib_user.oauth_user_provider


        anonymous: true
        logout:    true
        remember_me:
              key:      mySuperDuperKey
              lifetime: 45146
              path:     /
              domain:   ~




access_control:
    #- { path: ^/admin, roles:  IS_AUTHENTICATED_ANONYMOUSLY, ip: 134.6.2.8}
    - { path: ^/admin, roles:  [ROLE_ADMIN], ip: 127.0.0.1 }

    #- { path: ^/_internal/secure, roles: IS_AUTHENTICATED_ANONYMOUSLY, ip: 127.0.0.1 }
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/admin/, role: ROLE_ADMIN }
    - { path: ^/user/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/secured, role: ROLE_USER }
    - { path: ^/ad, role: ROLE_USER }

    - { path: ^/edit, role: ROLE_USER }
    - { path: ^/admin/home, role: ROLE_ADMIN}
    - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }

路由.yml

my_user_management:
    resource: "@FOSUserBundle/Resources/config/routing.yml"



_security_login:
      pattern:   /login

_security_check:
     pattern:  /loginfb
     defaults: { _controller: TechyVisaBundle:User:loginFb }

_security_logout:
      pattern:  /logout


fos_facebook_channel:
    resource: "@FOSFacebookBundle/Resources/config/routing.xml"

user_couple_fb_with_account:
    pattern: /user/couple/facebook
    defaults: { _controller: TechyVisaBundle:User:connectFacebookWithAccount }



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

google_login:
    pattern: /login/check-google

#login:
#    pattern:   /login
#    defaults:  { _controller: hh:Security:login }
#login_check:
#    pattern:   /login_check
#
logout:
    path:   /logout
4

0 回答 0