0

就像在推送通知示例应用程序中,我试图将推送通知示例应用程序集成到我们定制开发的本机ios应用程序中。在我们的例子中,应用程序将订阅推送事件源,而无需用户交互。我已经在示例应用中实现了它,它工作正常。IBM Worklight 6.1:如何验证WLChallengeHandler继承类中的用户?

在我们的原生应用程序,我们需要两个条件:

  1. 通过推送通知发送自定义消息
  2. 版本管理(启用/禁用特定的应用程序版本)

(1)第一项要求:

在订阅推送适配器之前,第一个用户必须根据文档进行认证,所以我注册了处理程序ChallengeHandler继承了类,因为它具有submitLoginForm函数。

--- [[WLClient sharedInstance] registerChallengeHandler:]

ChallengeHandler使用SampleAppRealm:

<realm name="SampleAppRealm" loginModule="StrongDummy"> 
    <className>com.worklight.core.auth.ext.FormBasedAuthenticator</className> 
</realm>    

其结果是,第一场景工作正常。它来自WLOnReadyToSubscribeListener继承的类,OnReadyToSubscribe方法。默认用户可以在没有用户交互的情况下成功订阅,因此我们可以向设备发送推送通知。

(2)第二个要求:

中序启用和禁用我需要一个WLChallengeHandler寄存器处理继承类,因为它有方法来处理成功,失败和挑战的应用。

在这种情况下,我正在使用wl_remoteDisableReam。启用/禁用特定版本功能工作正常。

问题: 另一方面,当我尝试同时运行这两个功能时,我遇到了问题。我无法验证WLChallengeHandler中的用户,因为它没有submitLoginForm功能。当我从类ChallengeHandler实例化一个对象并尝试登录时,它也不起作用。最后,它不是继承了WLOnReadyToSubscribeListener类的OnReadyToSubscribe方法。

那么我该如何解决这个问题?

回答

0

IMO没有理由为您创建处理远程禁用的质询处理程序。这是该框架为您提供的一项功能。

您需要做的只是将安全测试添加到authenticationConfig.xml中的自定义测试中,就是这样。您只需要从Worklight Console中禁用特定的应用程序版本。

下次运行应用程序时,框架将检查Worklight Server是否禁用版本,并在禁用版本时显示相应的消息。

基本上,以下是没有必要的:

(2)第二个要求:

中序来启用和禁用我需要的寄存器 处理程序与WLChallengeHandler继承的类,因为它的应用程序有 方法来处理成功,失败和挑战。