【发布时间】:2014-09-27 10:22:33
【问题描述】:
我从 Worklight 收到以下错误消息。 应用程序今天应该会上线,而这个错误会阻止它。
在 initOptions.js connecyOnStartUp : false 但我手动调用 WL.Client.connect。
我怀疑它与推送通知注册有关。实际上,我正在使用 PERSISTENT_COOKIE 作为用户 ID 将匿名用户注册到匿名推送事件源。
这发生在我客户的设备上,但不是在我的设备上。
这是我的安全领域定义:
<customSecurityTest name="LmsrSecurityTest">
<test isInternalUserID="true" realm="LmsrAuthRealm" step="1"/>
<test realm="wl_deviceNoProvisioningRealm" isInternalDeviceID="true" step="2"/>
<test realm="wl_antiXSRFRealm"/>
<!-- <test realm="wl_authenticityRealm"/> -->
<test realm="wl_remoteDisableRealm"/>
</customSecurityTest>
<!-- Anoymous users notifications -->
<mobileSecurityTest name="notLoggedInTest">
<testAppAuthenticity/>
<testDeviceId provisioningType="none" />
<testUser realm="wl_anonymousUserRealm" />
更新:这是我的应用程序描述符
<iphone bundleId="<my-bundle-id>" version="1.0.1">
<worklightSettings include="false"/>
<pushSender password="XXXXX"/>
<security>
<encryptWebResources enabled="false"/>
<testWebResourcesChecksum enabled="false" ignoreFileExtensions="png, jpg, jpeg, gif, mp4, mp3"/>
</security>
</iphone>
<android version="1.0.1">
<worklightSettings include="false"/>
<pushSender key="XXXXXX" senderId="XXXXX"/>
<security>
<encryptWebResources enabled="false"/>
<testWebResourcesChecksum enabled="false" ignoreFileExtensions="png, jpg, jpeg, gif, mp4, mp3"/>
<publicSigningKey>my-very-long-public-signing-key</publicSigningKey>
</security>
</android>
这是发生时的日志服务器端:
[9/27/14 18:42:46:893 GST] 0000057b com.ibm.ws.webcontainer.util.ApplicationErrorUtils E SRVE0777E: 应用程序类抛出异常 'com.worklight.core.auth.impl.AuthenticationContext.pushCurrentResource:398' com.worklight.server.auth.api.WorkLightAuthenticationException 在 com.worklight.core.auth.impl.AuthenticationContext.pushCurrentResource(AuthenticationContext.java:398) 在 com.worklight.core.auth.impl.AuthenticationServiceBean.accessResource(AuthenticationServiceBean.java:75) 在 com.worklight.integration.services.impl.DataAccessServiceImpl.subscribeNotifications(DataAccessServiceImpl.java:166) 在 com.worklight.gadgets.serving.handler.NotificationSubscriptionHandler.doPost(NotificationSubscriptionHandler.java:100) 在 com.worklight.gadgets.serving.GadgetAPIServlet.doGetOrPost(GadgetAPIServlet.java:141) 在 com.worklight.gadgets.serving.GadgetAPIServlet.doPost(GadgetAPIServlet.java:103) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:595) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:668) 在 com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1240) 在 com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:760) 在 com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:443) 在 com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:127) 在 com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:88) 在 com.worklight.core.auth.impl.AuthenticationFilter$1.execute(AuthenticationFilter.java:191) 在 com.worklight.core.auth.impl.AuthenticationServiceBean.accessResource(AuthenticationServiceBean.java:76) 在 com.worklight.core.auth.impl.AuthenticationFilter.doFilter(AuthenticationFilter.java:195) 在 com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:194) 在 com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:85) 在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:949) 在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1029) 在 com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:78) 在 com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:885) 在 com.ibm.ws.webcontainer.osgi.DynamicVirtualHost$2.run(DynamicVirtualHost.java:252) 在 com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink$TaskWrapper.run(HttpDispatcherLink.java:584) 在 com.ibm.ws.threading.internal.Worker.executeWork(Worker.java:439) 在 com.ibm.ws.threading.internal.Worker.run(Worker.java:421) 在 java.lang.Thread.run(未知来源)
[9/27/14 18:42:47:137 GST] 0000057b com.worklight.core.auth.ext.AuthenticityLoginModule E FWLSE0127E: 真实性检查失败。 [法尔项目]
【问题讨论】:
-
这与推送通知无关...是否已在设备上安装了应用程序并且客户已升级到iOS8?您需要确保为所有工作灯版本使用最新的 iFix。
-
此错误与 App Authenticity 和/或 Web 资源校验和测试有关。
-
我已经在使用 2014 年 9 月的版本 6.1.0.2。
-
我可以做些什么来调试/修复它吗?
-
它也发生在 android 上!
标签: jquery-mobile push-notification ibm-mobilefirst