Как лучше всего делиться сессионными куки-файлами со сторонними сайтами? - PullRequest
1 голос
/ 05 апреля 2011

Все, что я хочу, - это когда кто-то уже прошел аутентификацию на моем сайте, я хотел бы передать эту информацию на сторонний веб-сайт. Другой веб-сайт должен проверить это с помощью JavaScript и разрешить доступ. Каков способ сделать такую ​​вещь? Это путем передачи сеансовых файлов cookie?

Ответы [ 2 ]

0 голосов
/ 05 апреля 2011

Как сказал Дарин, вы не можете делиться файлами cookie между доменами. То, что вы пытаетесь сделать, это то, для чего были созданы сторонние куки. К сожалению, у них такая плохая репутация, что большинство браузеров по умолчанию блокируют сторонние куки.

Вам понадобится какая-то связь по обратному каналу (сервер-сервер), чтобы поделиться сведениями о пользователях, такими как их статус авторизации. Взгляните на реальные реализации такого рода вещей, такие как OAuth, чтобы увидеть, как они решили эту проблему.

0 голосов
/ 05 апреля 2011

Вы не можете передавать куки между доменами. Один из способов достижения единого междоменного домена состоит в том, чтобы SiteA и SiteB имели общий секрет, позволяющий шифровать / дешифровать значения. AES - хороший алгоритм для этого. Таким образом, если пользователь аутентифицирован на SiteA, вы можете предоставить ссылку на SiteB, передав зашифрованный токен, содержащий имя пользователя в запросе. А поскольку SiteB использует тот же ключ, что и SiteA, он сможет расшифровать его и получить имя пользователя. Получив имя пользователя, он может отправить свой файл cookie аутентификации для этого пользователя во втором домене.

Я боюсь, что делать это исключительно с помощью javascript может быть очень сложно, так как вам нужно будет передать секрет, используемый для шифрования токена, в javascript, что, очевидно, будет катастрофическим с точки зрения безопасности. Так что ИМХО вам потребуется поддержка на стороне сервера для достижения этой цели.

...