任何人都可以通过PeP代理解释Context Broker的用法吗?

时间:2015-08-27 11:45:24

标签: fiware fiware-orion fiware-wilma

我在我的机器上安装了orion Context Broker和pep proxy。我的目标是keyRock的全局实例和AuthZforce来验证上下文代理。

这是我的config.js:

var config = {};

config.pep_port = 1307;

// Set this var to undefined if you don't want the server to listen on HTTPS
config.https = {
    enabled: false,
    cert_file: 'cert/cert.crt',
    key_file: 'cert/key.key',
    port: 443
};

config.account_host = 'https://account.lab.fiware.org';
config.keystone_host = 'cloud.lab.fiware.org';
config.keystone_port = 4731;


config.app_host = 'localhost';
config.app_port = '1026';

config.username = '<my fiware lab username>';
config.password = '<my fiware lab pass>';



// in seconds
config.chache_time = 300;

// if enabled PEP checks permissions with AuthZForce GE.
// only compatible with oauth2 tokens engine
config.azf = {
    enabled: false,
    host: 'auth.lab.fiware.org',
    port: 6019,
    path: '/authzforce/domains/d698df7f-ffd4-11e4-a09d-ed06f24e1e78/pdp'
};

// list of paths that will not check authentication/authorization
// example: ['/public/*', '/static/css/']
config.public_paths = [];

// options: oauth2/keystone
config.tokens_engine = 'oauth2';

config.magic_key = undefined;

module.exports = config;

当我node server.js时 我成功了:

Starting PEP proxy in port 1307. Keystone authentication ...
Success authenticating PEP proxy. Proxy Auth-token:  e2189bdc1a8b4aae9280b0fd5a6ae8a0

installation and administration guide之后,我执行了以下命令:

curl --header&#34; X-Auth-Token:e2189bdc1a8b4aae9280b0fd5a6ae8a0&#34; http://localhost:1307

从那里我收到这条消息:

[TOKEN] Checking token with IDM...
User access-token not authorized

我在这里真的很茫然,并且不知道如何通过这三个中介来访问上下文经纪人?

我应该向谁发送一个令牌?

我不知道我是否提出了正确的问题。所有这一切的关键是确保对上下文代理的访问。

修改1

设置auth-token.sh后,我收到以下错误:

<orionError>
  <code>400</code>
  <reasonPhrase>Bad Request</reasonPhrase>
  <details>service not found</details>
</orionError>

节点server.js报告了这个:

Starting PEP proxy in port 1307. Keystone authentication ...
Success authenticating PEP proxy. Proxy Auth-token:  b90604bc94134c1a81414e97a23196f3


[TOKEN] Checking token with IDM...
[ROOT] Access-token OK. Redirecting to app...

以前命令:sh auth-token.sh <username> <pass>给了我:

X-Auth-Token for '<my email on fiware lab>': OxFTGtMM6ckBa7FQCUmwvvhj6GQYFc

然后我只是curl --header "X-Auth-Token:OxFTGtMM6ckBa7FQCUmwvvhj6GQYFc" http://localhost:1307给了我前面提到的错误。

2 个答案:

答案 0 :(得分:2)

PEP代理的启动屏幕中显示的令牌不是您在PEP代理处进行身份验证所需的令牌。请在此处查看说明:Wilma pep proxy and keystone - valid access token not found

简单方法如下:

下载此处提供的文件:https://raw.githubusercontent.com/Bitergia/fiware-chanchan-docker/master/images/pep-wilma/4.3.0/auth-token.sh

将CLIENT_ID和CLIENT_SECRET替换为您从FIWARE Lab获得的CLIENT_ID和CLIENT_SECRET。同时将https://idm/oauth2/token替换为https://account.lab.fiware.org/oauth2/token然后运行:

   sh auth-token.sh <user-email> <password>

该脚本将显示您使用的用户帐户的Auth令牌。您可以运行以下命令来访问Orion Context Broker:

   curl --header "X-Auth-Token: <AUTH-TOKEN-DISPLAYED>" http://localhost:1307

您现在应该收到来自orion的正确响应,该响应应根据您的配置在端口1026上运行。 还要确保已正确配置FIWARE实验室中的重定向URL。

答案 1 :(得分:2)

@ geissler给出的答案是正确的。关于编辑1 ,这不是PEP,Authzforce或KeyRock返回的错误,是关于Orion Context Broker使用的错误。

curl --header "X-Auth-Token:OxFTGtMM6ckBa7FQCUmwvvhj6GQYFc" http://localhost:1307

您没有查询任何操作,这就是您收到此错误的原因。请查看Orion User and Programmers Guide以了解如何使用Orion Context Broker。

对于端到端测试,您始终可以通过执行以下操作来查询Orion以检索版本:

curl --header "X-Auth-Token:OxFTGtMM6ckBa7FQCUmwvvhj6GQYFc" http://localhost:1307/version 

因此,如果你得到它,你将正确访问受保护的猎户座。