Ошибка Fiware KeyRock API: членство в организациях не возвращается

В качестве ускорителя FINISH мы используем FIWARE KeyRock и Wirecloud. В настоящее время мы используем глобальный экземпляр Fiware labs для расследования.

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

Следующий поток кажется логичным, но поправьте меня, если я ошибаюсь:

  1. Пользователь входит в Wirecloud и направляется через экран входа в систему KeyRock.
  2. Виджет Wirecloud получает токен доступа из среды Wirecloud. Токен доступа был создан при входе пользователя в систему.
  3. Виджет Wirecloud позволяет искать организации и роли, в которых участвует пользователь. Основываясь на этом, он добавляет названия организаций в свой запрос.
  4. Виджет Wirecloud запрашивает веб-сервис (Orion или другой), используя только что созданный запрос.
  5. Мы помещаем прокси-сервер Wilma PEP между виджетом Wirecloud и веб-сервисом, чтобы проверить, что пользователь является членом организации в запросе.

ПРОБЛЕМА. Мы можем запросить информацию о пользователе из KeyRock, используя вызов https://account.lab.fiware.org/user?access_token=XXXXXXXXXXX. Но это не содержит никакой информации об организациях, членом которых является пользователь, согласно веб-интерфейсу KeyRock. Элемент организаций представляет собой пустой массив. Мы получаем несколько ролей в ответе json, но ни одна из них не является ролью "участников", которую вы назначаете пользователям на экране "Управление участниками своей организации" в KeyRock.

Некоторые исследования показали, что экземпляр Keystone, работающий в лабораториях Fiware, содержит информацию (при условии, что проект Keystone = организация KeyRock). Однако токен доступа, предоставленный KeyRock, как-то недопустим в Keystone API. Использованный нами API был доступен здесь: http://cloud.lab.fiware.org:4730/v3/ Получение нового токена доступа из API Keystone - это не то, что нам нужно, потому что это будет токен доступа, отличный от Wirecloud. получено, что потребует какой-то прокси для повторного входа в систему и получения членства в организации. Это скорее побеждает точку передачи токена доступа.

Это похоже на ошибку в KeyRock API в экземпляре fiware labs. Или я что-то здесь упускаю? Или эта проблема волшебным образом исчезнет, ​​если мы установим keyrock на наш собственный сервер?

Спасибо за любую помощь, Робин

1 ответ

Решение

Вы должны выполнить шаги, описанные здесь, но с использованием конкретной организации. Возможно, вы пропустили шаг "Авторизация"

Другие вопросы по тегам