2017-02-22 102 views
0

Я создал Microservices с использованием Jhipster. Механизм безопасности - «UAA». проблема заключается в проблеме Cross-origin, которая препятствует регистрации и общению с сервером uaa.Cross-Origin в микросервисах JHipster

Ниже сообщение, которое я получил от хромированного браузера:

XMLHttpRequest не может загрузить http://192.168.1.136:9999/login. Нет Заголовок «Access-Control-Allow-Origin» присутствует на запрошенном ресурсе . Origin 'http://192.168.1.136:8080' поэтому не допускается доступ.

Где шлюз находится на порту 8080 и UAA на порт 9999.

Как решить Cross-Origin вопрос в Microservices архитектуре?

Не могли бы вы помочь, пожалуйста ..

ответ

0

первый ... UAA не определяет путь/входа в систему ... Войти происходит через OAuth гранту 2,0 пароля в шлюзе.

Другое дело, что вы напрямую достигаете UAA. Это не путь Netflix, поскольку вы указываете на настоящий хост + порт, вместо того, чтобы получать эту информацию от zuul. Что касается Zuul, вы знаете название вашей UAA службы (его «UAA»), и Zuul строит пути, как «хозяин/serviceNameInUpperCase/путь для службы»

поэтому попробуйте http://192.168.1.136:8080/uaa/api/ ... вместо http://192.168.1.136:9999/api/ ...

Я считаю, это будет также исправить ваш CORS вопрос

+0

Я искал «/ логин» в исходном коде, и я не мог его найти, но если открыть его из браузера я страница прошу у меня имя пользователя и пароль. Клиент, которого я использую по умолчанию Jhipster's Angular 2. Итак, никаких изменений не произошло! Браузер может получить токен через http: //192/168.1.136/uaa/oauth/token, но не может действовать в других запросах, поскольку проблема с перекрестным происхождением –

+0

Кстати, «/ login» встроен в Spring Security –

+0

только если вы активируете его с помощью WebSecurity. Поскольку мы используем ResourceServerSecurity, этот путь не определен (попробуйте). Проблема CORS может произойти только в том случае, если ваш браузер пытается разрешить URL-адрес с другого хоста. AFAIK это не может произойти с кодом JHipster по умолчанию, если вы его не изменили. В нашем случае угловое приложение только делает URL для себя, поскольку мы знаем, что шлюз JHipster является прокси-сервером zuul. И поскольку мы используем Oauth 2.0 password grant вместо разрешения на авторизационный код, там даже нет перенаправления на/login –

 Смежные вопросы

  • Нет связанных вопросов^_^