fiware POI:无法添加 poi:始终未经授权
Posted
技术标签:
【中文标题】fiware POI:无法添加 poi:始终未经授权【英文标题】:fiware POI: cannot add poi: always unauthorized 【发布时间】:2017-02-23 17:51:03 【问题描述】:我有两个实例:
-
钥匙摇滚
与 wilma-proxy 的 Poi
尝试创建一个 poi 实例,总是响应 401 Permission denied。但是令牌是正确的,因为所说的代理日志:
2016-10-14 09:40:30.132 - INFO: IDM-Client - Token in cache, checking timestamp...
2016-10-14 09:40:30.135 - INFO: IDM-Client - Token in cache expired
2016-10-14 09:40:30.136 - INFO: IDM-Client - Checking token with IDM...
2016-10-14 09:40:30.342 - INFO: Root - Access-token OK. Redirecting to app...
Refused to set unsafe header "content-length"
2016-10-14 09:40:30.366 - ERROR: HTTP-Client - Error: 401 Permission denied.
所以,我认为问题在于 authenticate.html 文件。我改变的唯一几行是:
<meta name="fiware_lab-signin-client_id"
content="8dc5826cdaea4729a4f43a01d01cb32e">
<meta name="fiware_lab-signin-host" content="http://myserver.com:8000">
fiware_lab-signin-client_id 具有在我的 keyrock 实例中创建的应用程序 POI 的 client_id。 fiware_lab-signin-host 具有地平线的服务器和端口。
正确吗?我尝试使用 5000 端口(keystone)但没有结果。
另外,我在 add_poi.php 中找到了这个:
$session = get_session();
$user_id = $session['user'];
$add_permission = $session['permissions']['add'];
if(!$add_permission)
header("HTTP/1.0 401 Unauthorized");
die("Permission denied.");
如果注释这些行,所有过程似乎都是正确的,直到 sql 插入。 (需要$session['user']
和其他为空的参数)
我不明白为什么会有这些行。此外,函数get_session()
返回一个硬编码数组而不是会话(可能没有)
我很困惑如何使用这个启动器。谁知道怎么用?
【问题讨论】:
能否提供POI软件的详细版本信息?例如。提交的链接会很有帮助。 get_session() 如果登录未成功,则返回一个硬编码数组。 【参考方案1】:您是否使用 POI-DP 的 root 用户配置了 auth_conf.json
文件? Configuring hard users POI-DP 将 Keystone 视为通用身份提供者(如 Google+)。您必须单独授予 POI-DP 用户权限,首先配置 root 用户拥有所有权限,然后他们可以使用 user_management.html 调用其他用户。 Site Administration
请使用标签fiware-poi
更快地回复 POI-DP 问题。
【讨论】:
我对此感到困惑。我检查了我的 auth_conf.json,它只是 auth_conf.json 的副本。我将 john doe 的权限更改为尝试添加 poi 的示例,但也说 Permission denied。 请阅读来自fiware-poidataprovider.readthedocs.io/en/latest/… 的配置说明。您必须为自己的 KeyStone 帐户配置管理员(和其他)权限。以上是关于fiware POI:无法添加 poi:始终未经授权的主要内容,如果未能解决你的问题,请参考以下文章
POI 使用XSSF导出Excel自定义单元格颜色为啥始终是黑色的?代码如下