我正在尝试构建一个示例应用来测试App Authenticity,但不幸的是我没有成功。
我正在Android设备上进行测试,因此我使用自定义证书对我的应用进行了签名,并通过Worklight wizzard将此证书提取到application-descriptor.xml中。我还在独立的WL服务器上部署了我的项目,而不是使用Studio。我的移动安全测试看起来像这样:
`
<mobileSecurityTest name="mobileTests">
<testAppAuthenticity/>
<testDeviceId provisioningType="none" />
<testUser realm="MyRealm" />
</mobileSecurityTest>
`
以下是我发现的意外行为:
- 在客户端,尽管上面显示的是订单,但用户登录页面在AppAuthenticity检查之前。
- 提交用户表单后,我在服务器端看到以下错误消息,而在此阶段移动应用程序应该是可信的:
[12/09/13 20:12:31:649 CEST] 00000070 com.worklight.core.auth.ext.AuthenticityLoginModule E FWLSE0127E:真实性检查失败。 [项目工作灯]
- 在客户端,发生此错误后,我在logcat中看到以下Javascript错误。我本以为框架会告诉我安全检查失败了,默认情况下会强制关闭应用程序:
09-12 20:12:30.822:I / dalvikvm(20308):找不到方法com.worklight.utils.PaidSecurityUtils.kpg,从方法com.worklight.utils.SecurityUtils.kpg中引用
09-12 20:12:30.827:W / dalvikvm(20308):VFY:无法解析静态方法9603:Lcom / worklight / utils / PaidSecurityUtils; .kpg(Landroid / content / Context; [Ljava / lang / String;) [B
谢谢你告诉我我做错了什么。仅供参考,如果在WL控制台上我禁用了真实性检查,当然应用程序运行正常。
艾蒂安