#sap-cloud-platform #sap-cloud-sdk #sap-cloud-foundry #sap-business-technology-platform
#sap-облачная платформа #sap-cloud-sdk #sap-cloud-foundry #sap-business-technology-platform
Вопрос:
Мы работаем над разработкой приложений SaaS для SAP BTP, сталкиваясь с очень странной проблемой с новыми субсчетами после публикации нашего приложения через службу реестра SaaS и реализации всех обратных вызовов, включая обратный вызов зависимостей, когда мы создаем новый субсчет клиента и выполняем подписку, столкнувшуюся с проблемой, описанной ниже в шагах входа в систему —
- подписка работает нормально и способна генерировать URL-адрес, специфичный для клиента.
- При входе пользователя в приложение отключается возможность вызова любого API серверной службы через авторизованного пользователя as XSUAA не может пройти аутентификацию, поскольку подпись JWT недействительна —
«<error_description> Не удается проверить подпись токена доступа</error_description> invalid_token»
- Тот же рабочий процесс отлично работает со старыми субсчетами, созданными некоторое время назад для целей тестирования.
- Проблема с недавно созданными субсчетами для арендатора.
Пожалуйста, помогите.
Спасибо, Сиддхартх
Комментарии:
1. Привет, Джейн, звучит очень похоже на известную проблему с SDK 2.0, которая в настоящее время устарела. Какую версию SDK вы используете? С последней версией SDK у вас не должно возникнуть никаких проблем: sap.github.io/cloud-sdk/docs/java /…
2. Спасибо, Ковалев, мы давно перешли на новую версию sdk и находимся на следующей версии — v3.35.0.
3. также мы пытались обновить банки безопасности до последней версии, но безуспешно -com.sap.xs2.security: java-container-security: 0.33.18 com.sap.xs2.security: security-commons: 0.33.18
4. XSUAA некоторое время назад изменил способ проверки JWT для клиентов для вновь созданных клиентов. Поведение, которое вы описываете, очень похоже на то, что это вызывает проблему. Но SDK адаптировался к этому изменению задолго до версии v3.35.0, поэтому вас это не должно затронуть. Я думаю, нам нужно больше информации для решения этой проблемы. Не могли бы вы, пожалуйста, поделиться деревом зависимостей, полной трассировкой ошибки в стеке, исходным кодом подключения вашего клиента и, если возможно, выводом журнала отладки.
5. Добавляя к ответу Маттиаса, я бы рекомендовал опубликовать здесь проблему с GitHub для упрощения отслеживания расследования: github.com/SAP/cloud-sdk/issues/new/choose
Ответ №1:
Технологическая платформа SAP Business изменила способ проверки JWT арендатора в первой половине 2020 года. Instehttps:// sap.github.io/cloud-sdk/docs/ java/ release-notes-sap-cloud-sdk-for-java#3161 вместо того, чтобы использовать хорошо известный и только один URL-адрес для получения ключа проверки, теперь он полагается на jku
поле и issuer
для проверки каждогоУ клиента есть URL-адрес для получения ключа для проверки JWT.
SAP Cloud SDK версии 3.16.1 и выше должен полностью поддерживать этот механизм проверки. Это означает, что используемая вами версия SDK должна быть в полном порядке.
Могут быть крайние случаи, когда логика приложения может потребовать обновления. Вот почему я предлагаю вам создать проблему здесь и предоставить следующую информацию:
- С каких пор проблема начала вас беспокоить? Он работал неделю назад и только сейчас сломался? Или вы давно не добавляли новых клиентов, и теперь он ломается?
- Дерево зависимостей вашего приложения
- Пожалуйста, предоставьте подробную трассировку стека исключений или журналы, чтобы определить основную причину.
- Отправьте нам фрагмент кода, в котором, по вашему мнению, произошел сбой.
Когда мы сможем сделать его воспроизводимым, решение этой проблемы должно быть довольно простым. Мы будем рады обновить эту тему, когда будет найдено решение, чтобы сообщество могло извлечь выгоду.
С нетерпением ждем подробных шагов по выпуску и воспроизведению.