Как получить имя клиента Cumulocity вошедшего в систему пользователя в моем приложении C8Y

Я разработал приложение Cumulocity (C8Y). Это приложение может быть подключено или нет в зависимости от арендатора C8Y.

Другими словами, мое приложение C8Y может работать под другим арендатором C8Y. Моему приложению C8Y необходимо знать имя арендатора вошедшего в систему пользователя. Действительно, моему приложению C8Y необходимо взаимодействовать с внешним приложением и предоставлять имя арендатора вошедшего в систему пользователя.

ПРИМЕЧАНИЕ. Afaik, существует два решения для управления арендаторами C8Y: решение 1. URL-адрес зависит от арендатора, т. Е. Решение http://.domain 2. Вошедший в систему пользователь зависит от арендатора, и существует уникальный URL-адрес, т. е.: - уникальный URL: http://domain - имя пользователя: идентификатор арендатора/имя пользователя

Я использую решение 2


person Paul Claverie    schedule 09.04.2018    source источник


Ответы (2)


Вы можете использовать следующий API

GET /tenant/currentTenant

Это также вернет tenantId, если вы не можете извлечь его, просто зная домен.

person TyrManuZ    schedule 09.04.2018
comment
Я уже использовал GET /tenant/currentName. Эта операция дает имя арендатора пользователя API, а не вошедшего в систему пользователя. - person Paul Claverie; 09.04.2018
comment
Вы можете использовать /user/currentUser, который предоставит вам полную информацию о пользователе, выполняющем этот запрос. - person TyrManuZ; 11.04.2018
comment
- /tenant/currentTenant дает имя клиента пользователя, которое включено в заголовок аутентификации http-запроса - /user/currentUser дает имя пользователя, которое включено в заголовок аутентификации http-запроса Требование НЕ знать информацию о заголовке аутентификации, но знать информацию (имя арендатора и имя пользователя) о вошедшем в систему пользователе - person Paul Claverie; 11.04.2018
comment
Возможно, решение не основано на использовании C8Y rest API. Зарегистрированный пользователь хранится в переменной javascript или в jsp? Другими словами, наше приложение C8Y должно получить вошедшего в систему пользователя, который отображается вверху справа в пользовательском интерфейсе C8Y. - person Paul Claverie; 11.04.2018
comment
Вы можете использовать функцию current() из ресурсов .cumulocity.com/documentation/jssdk/latest/#/api/. В конце он просто вызовет /user/currentUser. Нет ничего похожего на сеанс пользователя или что-то в этом роде. Вошедший в систему пользователь — это тот, с которым вы выполняете запросы. - person TyrManuZ; 12.04.2018

в Cumulocity имя арендатора одинаково для каждого пользователя в конкретном арендаторе. Таким образом, чтобы узнать, в какой клиент вошел пользователь, следует использовать решение 1, так как все клиенты Cumulocity выглядят как .cumulocity.com.

person Michael Welsing    schedule 09.04.2018
comment
Мой клиент заставляет меня использовать решение 2. Через решение 2 есть ли функция C8Y или C8Y rest API, чтобы сообщить моему приложению C8Y, кто является зарегистрированным пользователем. Примечание: если мое приложение C8Y знает пользователя, вошедшего в систему, оно сможет извлечь идентификатор арендатора из строки ‹идентификатор арендатора›/‹имя пользователя›. - person Paul Claverie; 09.04.2018