Symfony Проблема с журналом Iframe Chrome с файлами cookie SameSite - PullRequest
0 голосов
/ 20 марта 2020

У меня есть сайт А и сайт В. Оба на HTTPS, оба на разных доменах. Сайт работает Symfony, где я подготовил страницу входа, которую я включаю с помощью iframe на странице B. Процесс регистрации корректно работает в любом основном браузере, кроме Chrome с включенным флагом # same-site-by-default-cookies (chrome: // флаги / # тот же сайт-по-умолчанию-куки). Если я отключу этот флаг на Chrome, он также будет работать правильно.

Кто-нибудь знает, что я могу сделать, чтобы это исправить? Мне, вероятно, нужно установить флаг SameSite внутри Cook ie на «None», но я понятия не имею, какое приготовление ie это касается и где его изменить.

Я использую:

  • Symfony 4.4.2
  • friendsofsymfony / user-bundle 2.1.2
  • PHP 7.2

Мои сообщения: framework.yaml

framework:
secret: '%env(APP_SECRET)%'
translator: { fallbacks: [pl] }
form: { enabled: true }
validation: { enable_annotations: true }
default_locale: '%locale%'
csrf_protection: true

# Enables session support. Note that the session will ONLY be started if you read or write from it.
# Remove or comment this section to explicitly disable session support.
session:
    handler_id: Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler

#esi: true
fragments: ~
http_method_override: true
php_errors:
    log: true

security.yaml

providers:
    fos_userbundle:
        id: fos_user.user_provider.username

firewalls:
    dev:
        pattern: ^/(_(profiler|wdt)|css|images|js)/
        security: false
    main:
        switch_user:            true
        pattern: ^/
        context:            user
        remember_me:
            #key:      "%secret%"
            secret: "%secret%"
            lifetime: 31536000 # 365 days in seconds
            path:     /
            domain:   ~ # Defaults to the current domain from $_SERVER
            token_provider: Symfony\Bridge\Doctrine\Security\RememberMe\DoctrineTokenProvider
        form_login:
            provider: fos_userbundle
            # csrf_token_generator: security.csrf.token_manager
            # if you are using Symfony < 2.8, use the following config instead:
            # csrf_provider: form.csrf_provider
            always_use_default_target_path: true
            default_target_path: /after-login
            success_handler: authentication_handler
            failure_handler: authentication_handler
        oauth:
            resource_owners:
                facebook:           "/loginSocial/check-facebook"
                google:             "/loginSocial/check-google"
            login_path:        /loginSocial
            use_forward:       false
            failure_path:      /loginSocial
            oauth_user_provider:
                service: fm_user_provider
            always_use_default_target_path: true
            default_target_path: /after-login
        logout:
            target: fmUserAfterLogout
            success_handler: logout_handler
        anonymous:    true
...