My site uses the Domain Access module to maintain multiple domains and sub-domains, such as:
- www.domain1.com, apple.domain1.com, orange.domain1.com
- www.domain2.com, dog.domain2.com, cat.domain2.com
Users from the same domain (for example, domain1.com) should be able to go back and forth between the different sub-domains (www, apple, orange) without having to log in each time.
If I set the cookie domain inside services.yml, users from domain1 will be able to go back and forth between domain and sub-domain; however, users from domain2 won't be able to use the site.
parameters: session.storage.options: cookie_domain: '.domain1.com'
If I don't set
cookie_domain, users from either domain will have to log in each time when they go between sub-domains and domain.
In Drupal 7, it was possible to change the cookie configuration dynamically as explained on cookie domain disables other top domains.
In Drupal 8, the cookie_domain is set in a YAML file that can't be changed dynamically. A workaround on Drupal 8 is to load dynamically a different YAML file as explained here: https://bit.ly/2Nwgzlr. However; this is not an option for sites with a large number of domains and sub-domains.
Writing a new YAML file per site and modifying the settings.php every time a new domain is added to the pool, is not the most productive way. There is always a way of overriding things inside the Drupal code. I hope this is not the exception.
Can anyone tell me what hook or class I can use to implement the logic I need?