Symfony 2.8“记住我”部分与FOSUserBundle和HWIOAuthBundle合作

时间:2018-12-07 10:17:03

标签: php symfony fosuserbundle hwioauthbundle

我的Symfony 2.8项目的“记住我”功能存在问题。

我已经安装了两个软件包FOSUserBundle和HWIOAuthBundle。我的security.yml中的Remeber me func设置为true(请参见下文)。 在我自己的登录页面上,我可以使用Facebook,google或电子邮件登录。 Facebook和Google登录使用HWIOAuthBundle(后面是FOSUserBundle),电子邮件登录使用“仅” FOSUserBundle。

登录后,REMEMBERME cookie设置正确(通过Google,FB或电子邮件)

2种情况: -我使用FaceBook或Google登录,我关闭了浏览器,会话期满后进入网站时,我已经登录。它运行良好! -我使用电子邮件登录,关闭浏览器,并且在会话期满后进入网站时,我尚未登录。就在我进入网站之前,REMEMBERME cookie仍然存在并且当我进入时到我的网站,cookie REMEMBERME被删除。

当我用电子邮件登录时,为什么不记得我的功能?

security.yml:

security:

encoders:
    FOS\UserBundle\Model\UserInterface: bcrypt

role_hierarchy:
    ROLE_ADMIN:       ROLE_USER
    ROLE_SUPER_ADMIN: ROLE_ADMIN

providers:
    in_memory:
        memory: ~
    fos_userbundle:
        id: fos_user.user_provider.username_email

firewalls:

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

    main:
        pattern: ^/

        form_login:
            provider: fos_userbundle

        logout:       true
        anonymous:    true

        remember_me:
            secret:   '%secret%'
            lifetime: 604800 
            path:     /
            always_remember_me: true 
            user_provider: fos_userbundle

        oauth:
            remember_me: true
            resource_owners:
                google:             "/login/check-google"
                facebook:          "/login/check-facebook"
            login_path:        /login
            use_forward:       false
            failure_path:      /login

            oauth_user_provider:
                service: hwi_oauth.user.provider.fosub_bridge

    login:
        pattern:  ^/login$
        security: false

access_control:
#Empty

谢谢你,    卢克

0 个答案:

没有答案