用户管理和访问控制 > 配置 ThingWorx 的公开访问权限
  
配置 ThingWorx 的公开访问权限
Vuforia Studio 中,将项目的“访问权限”属性设置为“公开”,即可确保所发布项目中的体验支持公开访问。这样,发布到 Experience Service 的内容无需身份验证即可访问。如果公开体验需要访问 ThingWorx 中的数据,则必须将 Experience Service 配置为允许公开体验匿名访问 ThingWorx
Experience Service 可用作 ThingWorx 服务器的代理。当某个体验向 ThingWorx 申请检索属性值或调用服务时,相关请求首先会发送到 Experience Service。如果是空开体验,则 Experience Service 代理会先在请求中附加一个应用程序密钥,然后再将该请求转发给 ThingWorx 服务器。此应用程序密钥可标识用于执行该请求的 ThingWorx 凭据。必须使用正确的应用程序密钥对 Experience Service 进行配置,才能对授权的体验启用所需的 ThingWorx 公开访问权限。
如果某个体验中包含来自 ThingWorx 的数据,还必须同时提供该数据在 ThingWorx 中的空开访问权限。
应用程序密钥的配置
* 
在安装程序中配置 ThingWorx 服务器时,如果您选择了“配置 ThingWorx Core 服务器的公开访问”选项,则安装程序将自动完成本部分中所述的公开访问应用程序密钥配置。如果您选择手动创建此应用程序密钥,请按照以下说明进行操作。
要允许公开体验访问 ThingWorx 而不提示用户进行身份验证,必须将 Experience Service 及关联的 ThingWorx 服务器配置为允许公开访问。要允许公开访问 ThingWorx,必须在 ThingWorx 中创建应用程序密钥,用于访问公开连接体验所需的 ThingWorx 属性或服务。使用以下步骤在 ThingWorx 中创建必要的应用程序密钥。
1. 创建一个名为 es-public-access 的用户。
2. 创建一个名为 es-public-access-org 的组织。
3. es-public-access 用户添加到 es-public-access-org 组织中。
4. 配置用户,使其具有必要权限来访问公开体验所需的 ThingWorx 数据。有关对 es-public-access 用户必须授予的访问权限详细信息,请参阅下文中的“用户授权”部分。
5. 配置 es-public-access-org 组织,使其具有必要的可见性权限,以访问公开体验所需的 ThingWorx 数据。有关对 es-public-access-org 组织必须授予的可见性权限的详细信息,请参阅下文中的“用户授权”部分。
6. 创建一个应用程序密钥,并将其与 es-public-access 用户相关联。有关详细信息,请参阅生成应用程序密钥
* 
务必为应用程序密钥设置相应的到期日期。
7. 编辑 Experience Service 安装目录中的 configuration.json 文件,并将 proxies.0.appKey 参数的值设置为与之前在步骤 6 中创建的应用程序密钥的 keyId 属性值相同。
WebSocket 连接的用户授权
* 
在安装程序中配置 ThingWorx 服务器时,如果您选择了“配置 ThingWorx Core 服务器的公开访问”选项,则安装程序将自动完成本部分中所述的访问控制配置。当选择手动配置所需权限时,请遵照上述说明进行操作。
要允许公开体验的用户访问所需的 ThingWorx 属性和服务,必须在 ThingWorx 中授予上述 es-public-access 用户对 WebSocket 连接的以下权限:
EntityServices 资源上 GetClientApplicationKey 服务的运行时服务执行权限
EntityServices 资源的可见性权限
SDKGateway 事物模板的运行时实例“服务执行”权限
SDKGateway 事物模板的可见性实例权限
有关授予这些权限的详细信息,请参阅授予用户权限中的“启用 WebSocket 连接”部分。
体验数据的用户授权
* 
本节介绍对公开体验的用户必须授予的权限,以便他们访问体验所需的 ThingWorx 属性、服务和事件。由于每个体验对 ThingWorx 属性、服务和事件都有其独特的访问权限要求,因此安装程序不能执行本部分中描述的配置,必须手动完成。
要允许公开体验的用户访问体验所使用的 ThingWorx 属性、服务和事件,必须在 ThingWorx 中对上述 es-public-access 用户授予以下权限:
对任何其他会在空开体验中显示其值的属性的运行时“属性读取”权限
对任何其他会在公开体验中修改其值的属性的运行时“属性写入”权限
对任何其他由空开体验所使用的他服务的运行时“服务执行”权限
对任何需要空开体验访问的实体的可见性权限
有关授予这些权限的详细信息,请参阅授予用户权限中的“启用对属性、服务和事件的访问权限”部分。