2012-01-13 6 views
0

Пусть у меня есть domain-a.com (A) и domain-b.com (B)PHP, AJAX аутентификация на внешнем домене

Я хотел бы иметь возможность поделиться PHP сессий между двумя доменами, объединяющих логины таким образом, что после входа пользователя в A автоматически записывается в B и наоборот.

Проблема, с которой я столкнулся, заключается в том, что даже если мне удалось поговорить обозревателя через ajax во внешний домен через заголовок Access-Control-Allow-Origin, он не будет устанавливать файлы cookie (пожалуйста, не делайте скажите мне «вы не можете установить/получить куки другого домена, это не проблема»)

вот поток:

А посылает учетные данные B

, если учетные данные OK

-B отвечает с SESSID, выполненный для соответствия учетным данным пользователя (так что он может быть сгенерирован в обоих направлениях, например: логин от A или логин от B), это будет использоваться позже для совместного использования сеанса, созданного на B

-At в то же время мне бы хотелось, чтобы B мог писать куки для своего домена, но пока я не смог.

Что мне нужно здесь очень просто, как только правильные учетные данные из A верны, мне бы хотелось, чтобы этот сервер B мог написать свой файл cookie для своего домена (B), я могу видеть из заголовков, что технически это настройка файлов cookie, но браузер действительно не слушает. Есть идеи? Я играю в опасной зоне несовместимости между браузерами? технически все это должно быть довольно ванильным для последних браузеров.

спасибо!

ответ

0

Если domain-a.com и domain-b.com находятся на одном сервере, вы можете реализовать свои собственные сеансы или попытаться использовать session_id для установки идентификатора сеанса. Если они находятся на разных серверах, вам нужно будет использовать какую-то репликацию или создать API для авторизации пользователей на сторонних доменах.

+0

Да, я уже использую session_id, я просто хочу понять, почему B не устанавливает его cookie (B вызывается из A и нужно установить cookie для домена B) – sathia

+0

Он не устанавливает cookie cookie вообще или файл cookie с идентификатором сеанса, который вам нужен? – Timur

+0

Происхождение - это A, и я хочу, чтобы B установил cookie для B, он не будет устанавливать cookie вообще. – sathia