문제 :FOSFacebookBundle 휴식은 "기억 나"FOSUserBundle의
우리는 Symfony2의 FOSUserBundle을 사용하고 있고, 모두가 "나를 기억"을 포함하여, 잘 작동합니다.
우리는 최근 FOSFacebookBundle을 소개했습니다. 그 이후로 "정상적인"로그인에 대한 "기억하기"가 깨졌습니다. 예를 들어
:
우리는 사용자가로 로그인 - 양식에 기록하고 모든 작업을 계속 어떤 링크를 클릭 한 후, 활동없이 exemple를 위해 5 시간을 유지하는 경우에만 FosUSer를 사용 사용자 로그인 및 확인.
우리는 FosFacebook을 활성화 할 때 동일한 사용자가 페이스 북이 아닌 로그인 양식을 통해 로그인하고 활동하지 않고 시간을 유지합니다. 링크를 클릭하면 로그인 양식으로 리디렉션되고 비밀번호를 다시 입력하면 다시 대상 URL로 리디렉션됩니다.
FosFacebook을 구성에서 비활성화하면 FosUser의 "remember me"가 올바르게 작동합니다.
질문 :
FosFacebook가 FosUser "자연은"FB를 사용하지 않는 사용자를 위해 나를 기억 나누기가 정상인가요?
제대로 작동해야하는 경우 ... 설정 파일에서 실수를 저지른 사람이면 누구나 볼 수 있습니까?
설정 파일 :
config.yml facebooklogin을 추가 한 후
# FOS User
fos_user:
db_driver: %database_method% # other valid values are 'mongodb', 'couchdb'
firewall_name: main
user_class: Common\ODMBundle\Document\User
from_email:
address: %fos_email_address%
sender_name: %fos_sender_name%
profile:
form:
type: fos_user_profile
handler: fos_user.profile.form.handler.default
name: fos_user_profile_form
validation_groups: [Profile]
change_password:
form:
type: fos_user_change_password
handler: fos_user.change_password.form.handler.default
name: fos_user_change_password_form
validation_groups: [ChangePassword]
registration:
confirmation:
enabled: true
template: FOSUserBundle:Registration:email.txt.twig
form:
type: fos_user_registration
handler: fos_user.registration.form.handler.default
name: fos_user_registration_form
validation_groups: [Registration]
resetting:
token_ttl: 600
email:
template: FOSUserBundle:Resetting:email.txt.twig
form:
type: fos_user_resetting
handler: fos_user.resetting.form.handler.default
name: fos_user_resetting_form
validation_groups: [ResetPassword]
# FOS facebook
fos_facebook:
file: %kernel.root_dir%/../vendor/facebook/src/base_facebook.php
alias: facebook
app_id: xxxxxxxxxxxxxxx
secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
cookie: true
permissions: [email, user_birthday]
security.yml
security:
providers:
fos_userbundle:
id: fos_user.user_manager
my_fos_facebook_provider:
id: my.facebook.user
factories:
- "%kernel.root_dir%/../vendor/bundles/FOS/FacebookBundle/Resources/config/security_factories.xml"
firewalls:
main:
pattern: ^/
fos_facebook:
check_path: /login_checkFB
default_target_path: /user/
provider: my_fos_facebook_provider
form_login:
provider: fos_userbundle
default_target_path: /user/
logout: true
anonymous: true
switch_user: true
remember_me:
key: aSecretKey
lifetime: 604800
path: /
domain: ~
access_control:
#- { path: ^/.*$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/private/, role: ROLE_USER }
- { path: ^/user/, role: ROLE_USER }
- { path: ^/admin/, role: ROLE_ADMIN }
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
Xavi Montero, @ kristof-van-cauwenbergh 여러분, 질문과 답변에 감사드립니다. 같은 문제가 있었지만 페이스 북 번들로 인해 발생할 수 있다고 생각조차하지 않았습니다. – yefrem