Я бы установил cookie для явного домена, как у вас там, потому что он хранит любую информацию о безопасности в cookie этого конкретного домена.Вы также можете добавить незашифрованный файл cookie на уровне * .parent.com, который содержит информацию о том, какие домены были аутентифицированы.Нет никакого реального способа связать это вместе, хотя без использования, возможно, временных меток и наличия логической связи между приложениями (то есть - sub2 имеет время ожидания сеанса 20 минут, поэтому, если в родительском куки-файле встречается доменная + действительная временная метка, она будет действительнойоднако это бизнес-логика).
Я не уверен, что причина разъединения между доменами, но вы можете предпочесть иметь один cookie, который содержит зашифрованный текст за зашифрованным текстом.EG:
1) Sub1 входит в систему, устанавливает cookie-файл parent.com как действительный.Отправляет часть пользовательских данных в веб-службу аутентификации.
2) Служба аутентификации распознает sub1 как отправителя, шифрует пользовательские данные и добавляет их в пользовательский объект cookie.
3) Пользовательский объект cookie создает составную строку с уникальным символом разделения (или последовательностью) и делает его доступным для метода службы.
4) Служба, используя шифрование форм, шифрует весь билет и отправляет его.вернуться к исходному логину.
Таким образом, каждый сервер сможет расшифровать глобальный тикет, но каждый фрагмент данных будет зашифрован с использованием общего алгоритма, но соль на основе сервера.Поэтому, если sub2 пытается прочитать данные cookie из sub1, он получает зашифрованную версию, а не необработанные данные.