工作灯推送适配器在生产环境中的问题



Worklight PushAdapter 示例在开发环境(即 worklight studio)中运行良好,但在迁移到生产环境时会出现一些问题。

  1. 由于安全问题,后端应用程序无法调用推送过程。 如果设置为 securityTest="wl_unprotected" ,则可能会在生产中存在风险,还有其他解决方案吗?

  2. eventSourceonPoll函数中,如果调用其他适配器的过程,它也会在生产中引发安全问题,尽管在开发中工作正常。

例如

按钮适配器:

WL.Server.createEventSource({
    name: 'PushEventSource',
    onDeviceSubscribe: 'deviceSubscribeFunc',
    onDeviceUnsubscribe: 'deviceUnsubscribeFunc',
    securityTest:'SingleStepAuthAdapter-securityTest',
    poll:{
        interval: 120,
        onPoll: 'getNotificationFromBackend'
    }
});

function getNotificationFromBackend(){
var notifications = WL.Server.invokeProcedure({
        adapter : 'MessageAdapter',
        procedure : 'getMessages',
        parameters : []
    });
    WL.Logger.error("notifications: " + JSON.stringify(notifications));
...
}


Error Messages:
[14-2-13 9:11:45:382 CST] 0000003d ht.integration.js.JavaScriptIntegrationLibraryImplementation E notifications: {"isSuccessful":false,"errors":["Runtime: The resource 'proc:MessageAdapter.getMessages' should only be accessed when authenticated in realm 'wl_antiXSRFRealm'."],"warnings":[],"info":[]} [project XXX]

你能帮忙吗?提前谢谢。

  1. 适配器过程的默认安全测试包含反 XSRF 保护,但此配置可由以下任一选项覆盖:

    a.实现您自己的身份验证领域。

    b.禁用特定过程的身份验证要求。您可以通过添加适配器 XML 文件中元素的 securityTest="wl_unprotected" 属性。

  2. 有关
  3. 类似问题,请参阅下面的帖子。

IBM Worklight 6.0.0.1 - 推送通知轮询在生产环境中不起作用

Worklight 应允许将受企业防火墙保护的侦听端口号分配给推送适配器。如果存在此类功能,则只需在生产环境中配置防火墙以仅允许来自特定推送源的推送请求即可。

如果此类功能不可用,则应通过安全测试保护推送适配器。并且推送源在推送数据时应使用特殊的登录 ID 进行身份验证。这应该是可行的。

最新更新