我一直在尝试实现和测试Worklight的应用程序真实性功能,并且未能成功运行它。我已经回顾了本网站上的每篇文章,以及WL信息中心的信息,但没有成功。我正在详细解释我所做的事情,以及我所看到的结果,希望有人能够帮助我。
环境: Windows 7企业版上安装的Worklight Studio 5.0.5 Consumer Edition Windows 7企业版上安装的Worklight Server 5.0.5 Consumer Edition
WL服务器在Worklight Server安装提供的Websphere Application Server Liberty配置文件中运行
WL服务器正在使用安装包提供的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为null。检查应用程序的身份验证要求(从不,onStartup,onDemand)。这些设置必须与已部署的应用程序匹配”}
我的配置中是否遗漏了一些内容?
答案 0 :(得分:0)
使用最新的Worklight Studio Consumer Edition插件v6.0.0.1,我完成了以下操作。我已经成功地在基于Worklight的Android应用环境中使用App Authenticity。
connectOnStartup:true
authenticationConfig.xml&gt;取消注释mobileSecurityTest:
<mobileSecurityTest name="mobileTests"> <testAppAuthenticity/> <testDeviceId provisioningType="none" /> </mobileSecurityTest>
也可以使用自定义安全测试:
<customSecurityTest name="customTests"> <test realm="wl_antiXSRFRealm" step="1"/> <test realm="wl_authenticityRealm" step="1"/> <test realm="wl_remoteDisableRealm" step="1"/> <test realm="wl_anonymousUserRealm" isInternalUserID="true" step="1"/> test realm="wl_deviceNoProvisioningRealm" isInternalDeviceID="true" step="2"/> </customSecurityTest>
使用默认的Google提供的debug.keystore(在生产环境中,使用应使用自己的密钥库)
验证:
Enabled, blocking
时,检查应用现在无法连接到Worklight Server Enabled, serving
Disabled
在我的测试中: