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

Posted

技术标签:

【中文标题】从非 Worklight 应用程序调用 Worklight 适配器【英文标题】:Invoking Worklight adapter from non-worklight applications 【发布时间】:2013-03-15 13:38:13 【问题描述】:

在 WebSphere 应用程序服务器中将适配器(无论是 HTTP、SQL、JMS 还是 CastIron)部署到 Worklight Server 时,我相信我们可以从任何非 Worklight 应用程序外部调用适配器,如下所示。

http://localhost:8080/invoke?adapter=ADAPTER_NAME&procedure=PROCEDURE_NAME&parameters=[PARAMETER1,PAREMETER2,...]

从这个线程中注意到: https://www.ibm.com/developerworks/forums/thread.jspa?threadID=453422

使用这种方法的优缺点是什么?真的推荐吗?

【问题讨论】:

如果您的问题得到了回答,请将其标记为这样。谢谢! 【参考方案1】:

优势

它很容易从多个应用程序访问;访问适配器 URL 和传递参数。

缺点: 轻松破解已启用的身份验证框架

解决方法: 我遇到了同样的情况,我通过在服务器上注入我的自定义侦听器来侦听每个请求,然后根据我的标准将其转发到适配器或 worklight 应用程序,从而克服了它。这样我可以防止外部访问。

还有另一种使用自定义身份验证模型的方法。

http://public.dhe.ibm.com/software/mobile-solutions/worklight/docs/v506/08_04_Custom_Authenticator_and_Login_Module.pdf

http://www.ibm.com/developerworks/mobile/worklight/getting-started.html

【讨论】:

【参考方案2】:

易用性是最大的优点,安全性是最大的缺点。 为了能够以这种方式调用过程,您的适配器必须免于任何安全测试 (wl_unprotected)。如果您的 Worklight 主机和端口对 Internet 开放(很可能),任何知道适配器名称、过程名称等的人都可以调用您的适配器。

【讨论】:

以上是关于从非 Worklight 应用程序调用 Worklight 适配器的主要内容,如果未能解决你的问题,请参考以下文章

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

Worklight HTTP 适配器 - 简单的 Web 服务示例问题

notificationTokenNotUpdatedOnServer - Worklight

Worklight 服务器 URL 设置在 iphone 应用程序上不可见

Worklight 6.1 部署到 Windows Phone 8:AUTHENTICATION_ERROR,deviceId null

无法扩展 GCMIntentService 以修改原生 Android 客户端的通知视图 [Worklight 7.0 + Android]