Worklight 轮询适配器 - 调用另一个适配器

Posted

技术标签:

【中文标题】Worklight 轮询适配器 - 调用另一个适配器【英文标题】:Worklight Polling Adapter - Calling another Adapter 【发布时间】:2013-09-26 21:22:05 【问题描述】:

在 Worklight 5.0.6 中,我们使用以下内容创建了一个事件源:

WL.Server.createEventSource(
    name: 'ReminderSource',
    onUserSubscribe: 'userSubscribeFunc',
    poll: 
        interval: 86400,
        onPoll: 'getReminders'
    
);

getReminders 过程然后调用其他 HTTP 和 SQL 适配器来确定我们是否应该发送推送通知。当我们将它部署到我们的 Worklight 服务器时,每当我们尝试调用另一个适配器中的一个过程时,都会看到以下错误:

只能访问资源“proc:tbl_member.getPreferences” 在领域“wl_antiXSRFRealm”中进行身份验证时。

我们尝试使用 mobileSecurityTest(包括 wl_antiXSRFRealm)来保护 eventSource,但我们得到了同样的错误。有没有办法让我们的轮询适配器程序以某种方式“登录”到 antiXSRFRealm?

我们不能让其他适配器过程不受保护,因为它们确实需要保护。

【问题讨论】:

【参考方案1】:

antiXSRF 用于客户端-服务器跨脚本攻击检测。它对适配器过程之间的调用没有太多作用。尝试创建自定义安全测试并在那里仅添加用户领域,不添加 antiXSRF。

【讨论】:

执行此操作时,我们在日志中看到一条错误消息,提示推送通知安全测试需要 antiXSRF 领域。与此同时,我们通过将完成适配器过程所需的所有功能构建到单个适配器本身中来解决这个问题。

以上是关于Worklight 轮询适配器 - 调用另一个适配器的主要内容,如果未能解决你的问题,请参考以下文章

从非 Worklight 应用程序调用 Worklight 适配器

如何在 Worklight 6.2 中链接来自移动客户端的适配器调用?

IBM Worklight:调用 Worklight 适配器时没有 SessionManager

Worklight - 使用 URL 从非 Worklight 应用程序调用推送通知适配器

在 IBM Worklight 中使用适配器调用服务调用安全适配器

调用 Worklight 适配器 http 错误