我有一个A站点和一个B站点。两者都在HTTPS上,都在不同的域上。 一个运行Symfony的站点在其中准备了一个登录页面,该页面通过B页上的iframe包括在内。 除了启用了#same-site-by-default-cookies标志(chrome:// flags /#same-site-by-default-cookies)的Chrome浏览器外,日志记录过程在所有主流浏览器上均可正常运行。如果我在Chrome上禁用了此标志,那么它也可以正常工作。
有人知道我该怎么做才能解决它?我可能需要将Cookie内的SameSite标志设置为“无”,但是我不知道它涉及哪个Cookie以及在哪里进行更改。
我正在使用:
我的认罪: 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
答案 0 :(得分:0)