我一直在尝试实现和测试 Worklight 的应用程序真实性功能,但未能使其正常工作。我已经查看了该站点上的每个帖子,以及WL信息中心的信息,但没有成功。我正在详细解释我所做的事情以及我看到的结果,希望有人能够帮助我。
环境:Worklight Studio 5.0.5 Consumer edition 安装在 Windows 7 Enterprise 上 Worklight Server 5.0.5 Consumer edition 安装在 Windows 7 Enterprise
WL Server 正在 Worklight Server 安装提供的 Websphere Application Server Liberty 概要文件中运行
WL Server 使用的是安装包提供的 derby 数据库。
实施步骤:
在 authenticationConfig.xml 中添加(取消注释)安全测试
<mobileSecurityTest name="mobileTests"> <testDeviceId provisioningType="none"/> <testAppAuthenticity/> <testUser realm="wl_anonymousUserRealm"/> </mobileSecurityTest>
重新构建 .war 文件并将其部署到 Worklight Server。
修改 initOptions.js 使“connectOnStartup : true”
修改application-descriptor.xml,指定Android应用的安全测试,添加publicSigningKey
<android version="1.1" securityTest="mobileTests"> <worklightSettings include="false"/> <security> <encryptWebResources enabled="false"/> <testWebResourcesChecksum enabled="false" ignoreFileExtensions="png, jpg, jpeg, gif, mp4, mp3"/> <publicSigningKey>.......</publicSigningKey> </security>
重新构建应用程序并将其部署到 WL 服务器。
创建签名的 .apk 文件并上传到应用中心。
在物理设备上安装应用程序(Samsung Galaxy Tab 2,Android 4.1.1)
启动应用程序。
当我从 WL 控制台或在物理设备上以“预览”模式启动应用程序时,我最终会显示相同的错误。我收到的错误是:
{"errorCode":"UNEXPECTED_ERROR","errorMsg":"userIdentityForAPI 为空。检查您的应用程序的身份验证要求(从不、onStartup、onDemand)。这些设置必须与部署的应用程序匹配"}
我的配置中有什么遗漏吗?