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繼承的類,因爲它的應用程序有 方法來處理成功,失敗和挑戰。