我阅读了Keyrock和Wilma的所有文档,并在FIWARE学院观看了所有的视频,但我仍然没有在这种整合中取得成功。我从几天前就开始寻找这个,但没有成功。我认为FIWARE文档可以有教程,手.
我有一个带有Orion的VM,还有一个带有Keyrock、IdM和Wilma代理的容器。我正在尝试生成一个访问令牌来授予应用程序的访问权限,但我仍然没有得到它。此外,我想知道如何在Orion和一些IoT设备之间安全地交换消息。实际上,考虑到IoT设备必须访问屏幕并将其凭据用于身份验证和授权是非常复杂的,就像Keyrock IdM示例所显示的那样。你最喜欢什么?
发布于 2016-12-13 20:50:07
看到@albertinisg 这里的回答,我找到了一个用于令牌请求的巴什脚本。我将它更改为与我的本地实例一起使用,它起了作用。
在FIWARE (这里有更多的信息)注册我的应用程序之后,我不得不向http://idm:8000/oauth2/token (idm是我本地的Keyrock实例)发出一个POST请求。有了这个有效的令牌,我可以访问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代理(Wilma)配置(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代理(Wilma)服务器的情况下,可以控制对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、Wilma和Keyrock:https://www.slideshare.net/daltoncezane/integrating-fiware-orion-keyrock-and-wilma集成的简单教程。
我希望这个答案能帮助到其他人。
发布于 2016-12-13 14:58:27
关于Orion,它取决于要保护的接口,要么是服务API (即Orion通常运行在端口1026的侦听REST服务器),要么是通知API,或者两者兼而有之:
-https CLI参数(与-key和-cert结合使用)来实现。这个文件一节对此做了详细的阐述。
X-Auth-Token报头)。请注意,这是目前以静态方式完成的,即Orion无法直接与IDM/AccessControl交互,以便在过期后动态设置X-Auth-Token值。但是,可以开发一个能够这样做的进程并设置适当的头(如果您对此感兴趣,建议检查“如何在带有Orion的传出通知中添加自定义标题?” post)。
更新:从verion1.7.0开始,实现了本地HTTPS通知(即不需要Rush)。
发布于 2016-12-19 14:36:00
下面的演示展示了如何逐步创建基于FIWARE的IoT平台,并使用PEP代理、Keystone和Keypass对其进行安全保护。
https://docs.google.com/presentation/d/18LaWZSK4h2wncPF6hNAwK5MToLvJesR3XLrzsqrsmrw/edit?usp=sharing
我希望这能帮到你
谢谢
https://stackoverflow.com/questions/40999447
复制相似问题