2015-09-11 5 views
4

У меня есть JS, который находится в приложении для интрасети, работающем по протоколу HTTP (этот сервер/служба не входит в мой контроль, выполняется клиентом). Я управляю интернет-приложением, и он должен работать на HTTPS в целях безопасности.CORS intranet (http) to internet (https) какие у меня варианты?

Я пытаюсь использовать XDomain, но я обнаружил, что файлы cookie не отправляются. Является ли проблема, что я иду в интранет в Интернет или что я иду HTTP на HTTPS или какую-то проблему с конфигурацией?

Я получаю 401 при проверке подлинности пользователя даже после того, как они вошли в систему.

Я проверил обслуживание бэкенд/Интернет работает, как ожидается, через jsfiddle (т.е. Access-Control-Allow-Origin, и т. д. все правильно).

Спасибо!

+0

Экземпляр XDomain не может отправлять файлы cookie с его запросом. Вам нужно будет обмениваться данными через iframes, если вы хотите поддерживать старые версии IE. – idbehold

+0

@idbehold Я так считаю, что XDomain работает, верно; создав iFrame. Возможно, я неправильно понял, как работает эта библиотека. – dmarlow

+0

Да XDomain использует iframes. Попробовали ли вы настроить 'xdomain.cookies'? – bonesbrigade

ответ

3

Есть некоторые проблемы, связанные с безопасностью, с XDomain, которые заставляют его удалять куки-файлы в соответствии с № 5 в этом msdn blog. Однако существует также обходной путь с использованием прокси-сервера с примером проекта на Github. Я думаю, что все, что вам нужно, чтобы заставить его работать, описано на этих двух страницах.