对于用户登录,我尝试添加Google身份验证。
我将HWIOAuthBundle配置为他们的文档。一切都顺利配置和运行。
在google身份验证提示/ connect / google之后,它会重定向到以下网址(空白页) 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
Security.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 }
的routing.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