Получить зарегистрированную информацию о пользователе из облачного литейного веб-приложения - PullRequest
0 голосов
/ 12 сентября 2018

Мы разработали веб-приложение с использованием полного стека SAP Web-IDE;нам нужно получить информацию о пользователе, вошедшем в приложение (как определено в Администрировании аутентификации удостоверений SAP Cloud Platform), например отображаемое имя и назначенные группы.Мы попробовали использовать API userapi / currentUser, но, похоже, он работает только в среде NEO, по этой причине работает нормально при отладке в Web-IDE, но мы получаем ошибку 404 при развертывании приложения в Cloud Foundry.Нужно ли нам добавлять новое место назначения, чтобы заставить userapi работать также на CF?Или на Cloud Foundry есть какое-то подобное решение?

1 Ответ

0 голосов
/ 20 ноября 2018

Я настоятельно рекомендую использовать 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 должен содержать информацию, которую вы ищете.

...