Я создал 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 архитектуре?
Не могли бы вы помочь, пожалуйста ..
Я искал «/ логин» в исходном коде, и я не мог его найти, но если открыть его из браузера я страница прошу у меня имя пользователя и пароль. Клиент, которого я использую по умолчанию Jhipster's Angular 2. Итак, никаких изменений не произошло! Браузер может получить токен через http: //192/168.1.136/uaa/oauth/token, но не может действовать в других запросах, поскольку проблема с перекрестным происхождением –
Кстати, «/ login» встроен в Spring Security –
только если вы активируете его с помощью WebSecurity. Поскольку мы используем ResourceServerSecurity, этот путь не определен (попробуйте). Проблема CORS может произойти только в том случае, если ваш браузер пытается разрешить URL-адрес с другого хоста. AFAIK это не может произойти с кодом JHipster по умолчанию, если вы его не изменили. В нашем случае угловое приложение только делает URL для себя, поскольку мы знаем, что шлюз JHipster является прокси-сервером zuul. И поскольку мы используем Oauth 2.0 password grant вместо разрешения на авторизационный код, там даже нет перенаправления на/login –