Я настоятельно рекомендую использовать SAP S / 4HANA Cloud SDK для таких задач. Это SDK, разработанный для упрощения создания приложений для SAP Cloud Platform, предоставляя простые в использовании механизмы для всех механизмов Cloud Platform.
Что касается вашей задачи, есть класс UserAccessor
, который вы можете использовать следующим образом:
final Optional<User> user = UserAccessor.getCurrentUser();
Это работает как в Neo, так и в Cloud Foundry, т. Е. Существует единый интерфейс для обеих платформ, который позволяет разрабатывать приложение независимо от платформы.
Если это звучит так, как будто это может решить вашу проблему, я рекомендую ознакомиться с этой статьей в блоге , чтобы начать.
Кроме того, вы можете просто добавить следующую зависимость в ваш проект, чтобы начать тестирование SDK:
<dependency>
<groupId>com.sap.cloud.s4hana.cloudplatform</groupId>
<artifactId>scp-neo</artifactId>
<version>2.7.0</version>
</dependency>
Для Cloud Foundry используйте scp-cf
вместо scp-neo
.
Надеюсь, это поможет!
P.S .: Чтобы ответить на ваш вопрос также на техническом уровне, Cloud Foundry использует так называемые JWT для аутентификации и авторизации. Вы можете проверить, присутствует ли JWT, посмотрев заголовок Authorization
запроса. JWT должен содержать информацию, которую вы ищете.