Проблема безопасности с кросс / мультидоменной аутентификацией

У нас есть многодоменная платформа, которая использует центральный домен для аутентификации и API-операций.

API и аутентификация + управление аккаунтом

  • https://example.com

Только для чтения + действия виджета

  • http://example.com
  • http://example.net
  • http://example.org

Я прочитал большинство (если не все) вопросов Stackru, касающихся этого типа установки, но не смог понять эту проблему. (Большинство вопросов и ответов было посвящено общим принципам, а не частным).

Мы используем Porthole.js (javascript iframe proxy library) для передачи вызовов API между https://example.com и другие доменные имена. Все работает отлично.

Я пытаюсь обернуть голову вокруг "состояния входа" и сохранения пользовательских данных для настройки javascript.

Глядя на то, как моделируются такие сайты, как сам Stackru, я впервые подумал:

  • статус входа в кэш + данные настройки (имя пользователя, фотография и т. д.) + данные cookie в localStorage on https://example.com в течение 10 минут или до выхода из системы. через 10 минут кэш попадет в API сервера для обновления.
  • при первом попадании на сетевой сайт запросите удаленное localStorage. если они вошли в систему, прокси-сервер возвращает статус входа, данные настройки и идентификаторы файлов cookie http (не https). затем эти данные считаются "свежими" в течение 10 минут или до выхода из системы.
  • печенье от http://example.com клонируется на запрашивающий домен, заменяя этот сеанс. это позволяет мне использовать один cookie / id для разных доменов.

Больше всего меня беспокоит последний шаг - клонирование куки-файла http - даже если он используется только для отслеживания и предварительного просмотра. Но вся эта система основана на моделях безопасности браузера, и я могу что-то упустить. Это выглядит как элегантный и просто защищенный механизм, как если бы я использовал модель AuthTicket (пользователь посещает https://example.com/auth-request?destination=http://example.net/auth-response, перенаправлен на http://example.net/auth-response?nonce=VERYBIGNUMBER) или сделал прозрачный запрос oAuth внутри iframe.

Может ли кто-нибудь пролить свет на очевидные / очевидные проблемы безопасности, которые я пропустил, или это кажется таким же безопасным, как альтернативы?

0 ответов

Другие вопросы по тегам