Увидев ответ @albertinisg here, я нашел bash script для запроса токена. Я изменил его для использования с моими локальными экземплярами, и это сработало.
После регистрации заявки на портале FIWARE (more information here) мне пришлось сделать запрос POST на http://idm:8000/oauth2/token (idm - мой локальный экземпляр Keyrock). С помощью этого действительного токена я могу получить доступ к контенту в Orion.
import requests, json, getpass
TOKEN_URL = "http://idm:5000/v2.0/tokens"
USER = raw_input("Username: ")
PASSWORD = getpass.getpass("Password: ")
PAYLOAD = "{\"auth\": {\"passwordCredentials\": {\"username\":\""+USER+"\", \"password\":\""+PASSWORD+"\"}}}"
HEADERS = {'content-type': 'application/json'}
RESP = requests.post(TOKEN_URL, data=PAYLOAD, headers=HEADERS)
PEP Конфигурация прокси (Вильма) (config.js):
config.app_host = 'my_orion_ip'; //change to your Orion address
config.app_port = '1026'; //change to your Orion port
config.username = 'pep_proxy_credential_obtained_at_portal';
config.password = 'password_obtained_at_portal';
С действительным маркером и сервером PEP Proxy (Вильма) работает с этой конфигурацией, можно управлять доступом чтобы Orion выполнил запрос на адрес прокси-сервера PEP. Прокси-сервер PEP перенаправит этот запрос на IdM (Keyrock), чтобы IdM мог проверить учетные данные пользователя/устройства. Если учетные данные действительны, пользователь/устройство получит действительный токен, и теперь PEP-прокси может разрешить доступ к Orion.
Для HTTPS связи я настроил сервер Nginx, чтобы действовать как обратный прокси-сервер (.conf файл):
server {
listen 443;
server_name orion;
ssl on;
ssl_certificate /etc/nginx/ssl/orion.crt;
ssl_certificate_key /etc/nginx/ssl/orion.key;
...
...
location/{
#root orion:1026; #/var/www/yourdomain.com;
#index index.php index.html index.htm;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# Fix the “It appears that your reverse proxy set up is broken" error.
proxy_pass http://orion:1026;
proxy_read_timeout 90;
proxy_redirect http://orion:1026 https://orion;
}
}
Я сделал простой учебник по интеграции FIWARE Orion, Вилма и Keyrock: https://www.slideshare.net/daltoncezane/integrating-fiware-orion-keyrock-and-wilma
Надеюсь, этот ответ поможет кому-то другому.
Я рекомендую вам следовать указаниям, приведенным в Уроке 3 Keyrock курсов (https://edu.fiware.org/course/view. php? id = 79), чтобы знать, как создавать токены OAuth2. Подробную документацию можно найти здесь (http://fiware-idm.readthedocs.io/en/latest/oauth2.html). Что касается вопросов с Орион, мои коллеги из группы IoT помогут вам. –
Чтение сообщения вопроса, не знаю, какой конкретный вопрос для Ориона ... @ Далтон, не могли бы вы немного разобраться, пожалуйста? Спасибо! – fgalan
Уважаемый @Alvaro, я уже смотрел все видео в Академии Fiware, включая урок 3 (я смотрел его два раза). У меня возникли проблемы с созданием токена доступа в моем локальном экземпляре IdM. Я уже создал приложение на моем портале IdM, что дало мне идентификатор клиента и секретный идентификатор. Но у меня возникли сомнения в том, как запросить действительный токен доступа. Теперь, после поиска немного больше, я узнал и получил токен доступа с POST по адресу http: // idm: 8000/oauth2/token. Я протестировал его с запросом информации о пользователе с помощью http: // idm: 8000/user? Access_token = «mytoken», и он сработал. – Dalton