Общий логин между сайтом и сайтом iframed - PullRequest
0 голосов
/ 18 июня 2019

Я хочу разрешить вход в систему, который произошел на родительском сайте, для автоматического входа на сайт iframed.

Вот конкретная ситуация:

У меня есть сайт, которыйпростая страница входа.После входа в систему у пользователя появляется меню с серией URL-адресов (все с одним базовым доменом, но с разными портами).

main.example.com   (main site)
main.example.com:14002  (iframe #1)
main.example.com:14003  (iframe #2)
...

Пользователь выбирает один из пунктов меню, и URL-адрес загружается в iframe.

Меню выводится из таблицы базы данных.

ВсеURL-адреса будут загружаться из IIS, но все они будут работать на разных портах, поэтому мы имеем возможность контролировать их перезапуск и развертывание новых в середине дня.

Я пытаюсь найтиспособ разрешить вход в основной сайт, чтобы разрешить безопасный вход сайтов iframe.

Другими словами, как сайт iframed может безопасно знать идентификатор пользователя, который вошел в основной сайт?

Это не произвольные сайты в фрейме.Мы контролируем весь исходный код.

1 Ответ

0 голосов
/ 21 июня 2019

Вот что мы в итоге сделали:

Мастер-сайт размещает cookie с токеном, используя эту технику, чтобы он был виден сайту модуля:

document.cookie = "key=token;domain=mydomain.com"

Тогдасайт module.mydomain.com выполняет вызов веб-службы на веб-сайте master.mydomain.com с токеном для получения зарегистрированного идентификатора пользователя.

Если файл cookie отсутствует или срок действия токена истек, пользователю предоставляетсяэкран входа в систему в окне iframe.

...