如何配置FIWARE组件以避免AZF域不是为应用程序响应创建的
问题摘要:我们如何让FIWARE IdM Keyrock和FIWARE Authzforce正确设置AZF域,而不得到“AZF域不是为应用程序XYZ创建的”响应 我正在尝试使用FIWARE Orion、FIWARE PepProxy Wilma、FIWARE IdM Keyrock和FIWARE Authzforce正确配置服务器。 我到达了前3个组件正常工作并相互作用的点,但现在我尝试插入自动化,我得到以下错误:如何配置FIWARE组件以避免AZF域不是为应用程序响应创建的,fiware,fiware-orion,fiware-wilma,fiware-keyrock,Fiware,Fiware Orion,Fiware Wilma,Fiware Keyrock,问题摘要:我们如何让FIWARE IdM Keyrock和FIWARE Authzforce正确设置AZF域,而不得到“AZF域不是为应用程序XYZ创建的”响应 我正在尝试使用FIWARE Orion、FIWARE PepProxy Wilma、FIWARE IdM Keyrock和FIWARE Authzforce正确配置服务器。 我到达了前3个组件正常工作并相互作用的点,但现在我尝试插入自动化,我得到以下错误: 未为应用程序创建AZF域。 我已经尝试了以下链接中提供的所有解决方案,但没有一个
未为应用程序创建AZF域
。
我已经尝试了以下链接中提供的所有解决方案,但没有一个有效:
- 在您的系统上创建一个工作目录(例如,
)/home/fiware orion docker
- 在目录中创建一个名为
的新文件,其中包含以下内容:docker compose.yml
- 注意:如果没有DNS,它将永远不会发送通知李>
- 注意2():来自docker容器的连接被路由到(iptables)转发链,这需要配置为允许通过它的连接。默认设置是断开连接。因此,如果您使用防火墙,您必须更改它:
sudo nano/etc/default/ufw
- 将DEFAULTFORWARDPOLICY设置为“接受”。
默认转发策略=“接受”
- 保存文件
- 重新加载ufw
sudo ufw重新加载
- 在您创建的目录中,在命令行中键入以下命令:
sudocker compose up-d
- 几秒钟后,您应该让您的上下文代理在端口
上运行并侦听1026
- 检查每件事是否与
curl localhost:1026/version
- 警告-1:(如果下一个命令不起作用:
)sudo添加apt存储库“deb[arch=amd64]https://download.docker.com/linux/ubuntu 巧妙稳定“
- 警告0:如果您有防火墙:禁用它,否则docker compose将无法工作
- sudo-apt-get-install-docker-compose
- mkdir fiware idm
- cd固件idm
- 创建docker-compose.yml
nano docker compose.yml
(这将自动下载两个图像并运行IdM Keyrock服务。(-d用于在后台运行它))李>sudo docker compose up-d
- 现在,您应该能够通过网站访问身份管理工具
- 用户名:
admin@test.com
- 密码:
1234
- 用户名:
- 注册新用户并通过界面启用它
- 然后使用GUI执行以下操作:
- 创建一个“组织”(如Organize1)
- 创建一个“应用程序”
- 步骤1:
Name: Orion Idm Description: Orion Idm URL: http://localhost Callback URL: http://localhost Grant Type: Authorization Code, Implicit, Resource Owner Password, Client Credentials, Refresh Token Provider: newuser
- 第二步:留空
- 步骤3:选择“提供者”
- 步骤4:
- 单击“OAuth2凭据”并记下“客户ID”(94480bc9-43e8-4c15-ad45-0bb227e42e63)和“客户机密”(4f6ye5y7-b90d-473a-3rr7-ea2f6dd43246)
- 单击“政治公众人物代理”,然后单击“注册新的政治公众人物代理”
- 记下“应用程序Id”(94480bc9-43e8-4c15-ad45-0bb227e42e63)、“政治公众人物代理用户名”(政治公众人物代理数据356D2-dasa-4f95-a9hf-9AB06TCF929)和“政治公众人物代理密码”(政治公众人物代理a33667ec-57y1-498k-85aa-ef77ue5f6234)
- 单击“授权”(用户)并使用两个角色授权所有现有用户(所有选项的购买者和提供者)
- 单击“授权”(组织)并授权所有既有组织,同时具有两个角色(所有选项的购买者和提供者)
- 步骤1:
(撰写本文时最新版本为8.1.0)sudo-docker-pull-authzforce/server:latest
sudo docker run-d-p 8085:8080——名称authzforce\u server authzforce/server
- git克隆
- cd fiware pep代理
- cp config.js.template config.js
- nano config.js
- 安装所有依赖项
npm安装
- 运行代理
sudo节点服务器
http://localhost:3000
:
- 点击你的申请
- 单击页面顶部的
管理规则
- 单击角色附近的
按钮+
- 名称:“审判”
- 拯救
- 单击权限附近的
按钮+
- 权限名称:trial1
- 描述:trial1
- HTTP操作:获取
- 资源:版本
- 拯救
- 回到应用程序
- 单击“授权用户”附近的“授权”
- 将“试用”角色分配给您的用户
- 连接到localhost:3000/oauth2/token并发送以下参数
- 正文:
- 用户名:
- 密码:
- 授权类型:密码
- 标题:
- 内容类型:application/x-www-form-urlencoded
- 授权:基本
- 注意获得的
access\u令牌
- 标题:
- X-auth-token:
version: "3.5" services: keyrock: image: fiware/idm:7.6.0 container_name: fiware-keyrock hostname: keyrock networks: default: ipv4_address: 172.18.1.5 depends_on: - mysql-db ports: - "3000:3000" environment: - DEBUG=idm:* - IDM_DB_HOST=mysql-db - IDM_HOST=http://localhost:3000 - IDM_PORT=3000 # Development use only # Use Docker Secrets for Sensitive Data - IDM_DB_PASS=secret - IDM_DB_USER=root - IDM_ADMIN_USER=admin - IDM_ADMIN_EMAIL=admin@test.com - IDM_ADMIN_PASS=1234 mysql-db: restart: always image: mysql:5.7 hostname: mysql-db container_name: db-mysql expose: - "3306" ports: - "3306:3306" networks: default: ipv4_address: 172.18.1.6 environment: # Development use only # Use Docker Secrets for Sensitive Data - "MYSQL_ROOT_PASSWORD=secret" - "MYSQL_ROOT_HOST=172.18.1.5" volumes: - mysql-db:/var/lib/mysql networks: default: ipam: config: - subnet: 172.18.1.0/24 volumes: mysql-db: ~
Name: Orion Idm Description: Orion Idm URL: http://localhost Callback URL: http://localhost Grant Type: Authorization Code, Implicit, Resource Owner Password, Client Credentials, Refresh Token Provider: newuser
var config = {}; // Used only if https is disabled config.pep_port = 5056; config.https = undefined config.idm = { host: 'localhost', port: 3000, ssl: false } config.app = { host: 'localhost', port: '1026', ssl: false // Use true if the app server listens in https } config.response_type = 'code'; // Credentials obtained when registering PEP Proxy in app_id in Account Portal config.pep = { app_id: '91180bc9-43e8-4c14-ad45-0bb117e42e63', username: 'pep_proxy_dad356d2-dasa-4f95-a9hf-9ab06tccf929', password: 'pep_proxy_a33667ec-57y1-498k-85aa-ef77ue5f6234', trusted_apps : [] } // in seconds config.cache_time = 300; // list of paths that will not check authentication/authorization // example: ['/public/*', '/static/css/'] config.public_paths = []; config.magic_key = undefined; module.exports = config; config.authorization = { enabled: true, pdp: 'authzforce', // idm|authzforce azf: { protocol: 'http', host: 'localhost', port: 8085, custom_policy: undefined, // use undefined to default policy checks (HTTP verb + path). } }