首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Fiware -如何集成Keyrock IdM、Wilma代理和Orion?

Fiware -如何集成Keyrock IdM、Wilma代理和Orion?
EN

Stack Overflow用户
提问于 2016-12-06 15:49:19
回答 3查看 1.4K关注 0票数 2

我阅读了Keyrock和Wilma的所有文档,并在FIWARE学院观看了所有的视频,但我仍然没有在这种整合中取得成功。我从几天前就开始寻找这个,但没有成功。我认为FIWARE文档可以有教程,手.

我有一个带有Orion的VM,还有一个带有Keyrock、IdM和Wilma代理的容器。我正在尝试生成一个访问令牌来授予应用程序的访问权限,但我仍然没有得到它。此外,我想知道如何在Orion和一些IoT设备之间安全地交换消息。实际上,考虑到IoT设备必须访问屏幕并将其凭据用于身份验证和授权是非常复杂的,就像Keyrock IdM示例所显示的那样。你最喜欢什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-12-13 20:50:07

看到@albertinisg 这里的回答,我找到了一个用于令牌请求的巴什脚本。我将它更改为与我的本地实例一起使用,它起了作用。

在FIWARE (这里有更多的信息)注册我的应用程序之后,我不得不向http://idm:8000/oauth2/token (idm是我本地的Keyrock实例)发出一个POST请求。有了这个有效的令牌,我可以访问Orion中的内容。

代码语言:javascript
复制
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):

代码语言:javascript
复制
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文件):

代码语言:javascript
复制
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集成的简单教程。

我希望这个答案能帮助到其他人。

票数 2
EN

Stack Overflow用户

发布于 2016-12-13 14:58:27

关于Orion,它取决于要保护的接口,要么是服务API (即Orion通常运行在端口1026的侦听REST服务器),要么是通知API,或者两者兼而有之:

  • 关于服务API:
    • 身份验证和授权:它可以通过PEP实现。下面的文档介绍了两个PEP替代实现。但是,请注意PEP并不是独立工作的,因为它还需要IDM和访问控制才能工作。我理解@Alvaro可以详细解释这个话题(关于Wilma )。据我所知。
    • Encryption:它可以由代理充当HTTPS桥(例如ngnix),也可以由Orion使用-https CLI参数(与-key-cert结合使用)来实现。这个文件一节对此做了详细的阐述。

  • 关于notification:
    • 身份验证和授权:自定义通知的当前实现(请参阅NGSIv2规范中的“自定义通知”部分)允许您包含可用于身份验证的自定义header (例如,保护端点的PEP实例所需的X-Auth-Token报头)。请注意,这是目前以静态方式完成的,即Orion无法直接与IDM/AccessControl交互,以便在过期后动态设置X-Auth-Token值。但是,可以开发一个能够这样做的进程并设置适当的头(如果您对此感兴趣,建议检查“如何在带有Orion的传出通知中添加自定义标题?” post)。
    • 加密:它可以在冲刺组件中实现中继。这个文件一节对此做了详细的阐述。

更新:从verion1.7.0开始,实现了本地HTTPS通知(即不需要Rush)。

票数 2
EN

Stack Overflow用户

发布于 2016-12-19 14:36:00

下面的演示展示了如何逐步创建基于FIWARE的IoT平台,并使用PEP代理、Keystone和Keypass对其进行安全保护。

https://docs.google.com/presentation/d/18LaWZSK4h2wncPF6hNAwK5MToLvJesR3XLrzsqrsmrw/edit?usp=sharing

我希望这能帮到你

谢谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40999447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档