Вызов API RestTemplate между микросервисом не работает - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть 2 микросервиса на основе архетипа SAP SDK 3.0, связанных одним и тем же сервисом xsuaa. Из первого микросервиса A я хотел вызвать второй микросервис B с помощью шаблона отдыха. Он не может позвонить, так как не может аутентифицироваться. Можете ли вы найти мой подход правильный? Совместное использование приведенного ниже кода вместе со снимком экрана ошибки

Code Screenshot

Ошибка: <200, document.cookie = "фрагментAfterLogin =" + encodeURIComponent (location.ha *) 1033 *) + "; путь = /"; document.cookie = "locationAfterLogin =" + encodeURIComponent (location.href.split ( '#') [0] .split (location.host) <a href="https://i.stack.imgur.com/MHpOk.jpg" rel="nofollow noreferrer"> 1 ) + "; путь = /"; document.cookie = "подпись = pim93tQhbcWCYYAiFxYkwrHBY% 2FS% 3D; путь = /"; "! https://xxxxx.hana.ondemand.com/oauth/authorize?response_type=code&client_id=sb-Ledify t7251 & redirect_uri = HTTP% 3A% 2F% 2Flocalhost% 3A5000% 2Flogin% 2Fcallback" местоположение =, {x-request-id = [k8h8rf33], x-frame-options = [SAMEORIGIN], Cache-Control = [no-cache, no-store, must-revalidate], Content-Type = [text / html], Content -Security-Policy = [script-sr c 'self' 'unsafe-inline'], Date = [Wed, 01 Apr 2020 11:23:01 GMT], Connection = [keep-alive], Content-Length = [620]}>

Примечание: localhost: 5000 - это мой локальный порт approuter, и он настроен для вызова второго микросервиса, который я протестировал в браузере

Обновлено:

Я обновил с getToken (), но я получаю ниже ошибка в моем локальном approuter.

Ответ об ошибке:

Approuter Log

xsapp. json Маршрут

{"source": "/ notif -mock /(.*) "," authenticationType ":" xsuaa "," destination ":" notif-mock "," csrfProtection ": true}

К вашему сведению, я использовал локальную настройку approuter согласно этот пост Ссылка здесь

Ответы [ 2 ]

3 голосов
/ 06 апреля 2020

В следующей строке вы объединяете строку с DecodedJWT:

String encodedAuth = "Bearer " + getJWTTokenDetails();

Но DecodedJWT не реализует метод toString(). Вместо этого вы должны использовать getToken().

Подсказка: Для упрощения работы со службой поддержки, пожалуйста, скопируйте / вставьте свой код, потому что на текст на скриншоте нельзя эффективно ссылаться.

1 голос
/ 02 апреля 2020

Арун,

Спасибо за предоставление всех дополнительных деталей. Я рекомендую обновить SDK до версии 3.16.1 и проверить, решит ли она вашу проблему.

Я делаю это, потому что версия 3.9.0, которую вы используете в данный момент, имеет неполную реализацию сценария безопасности ios, вызванную XSUAA.

Мы исправили много проблем, связанных с обработка XSUAA и JWT проверки в выпуске 3.15.1. Пожалуйста, проверьте примечания к выпуску для деталей. .

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

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...