MobileFirst 8.0 - 从 WLResourceRequest 调用受保护的适配器
Posted
技术标签:
【中文标题】MobileFirst 8.0 - 从 WLResourceRequest 调用受保护的适配器【英文标题】:MobileFirst 8.0 - call protected adapter from WLResourceRequest 【发布时间】:2016-11-08 14:11:09 【问题描述】:我尝试在 MFP 8.0 cordova 应用程序(还安装了 mfp 插件)中调用受保护的 javascript 资源适配器,但没有设置任何特定的安全性。下面使用的配置:
adapter.xml
<?xml version="1.0" encoding="UTF-8"?>
<mfp:adapter name="AccountAdapter"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mfp="http://www.ibm.com/mfp/integration"
xmlns:http="http://www.ibm.com/mfp/integration/http">
<displayName>AccountAdapter</displayName>
<description>AccountAdapter</description>
<connectivity>
<connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
<protocol>https</protocol>
<domain>mobilefirstplatform.ibmcloud.com</domain>
<port>443</port>
<connectionTimeoutInMilliseconds>30000</connectionTimeoutInMilliseconds>
<socketTimeoutInMilliseconds>30000</socketTimeoutInMilliseconds>
<maxConcurrentConnectionsPerNode>50</maxConcurrentConnectionsPerNode>
</connectionPolicy>
</connectivity>
<procedure name="getUser"/>
javascript 应用代码
var resourceRequest = new WLResourceRequest("adapters/AccountAdapter/getUser", WLResourceRequest.GET);
resourceRequest.setQueryParameter("params", "[1]");
resourceRequest.send().then(success, loadFailure);
但反应是
worklight.js:10192 GET http://localhost:6015/mfp/api/adapters/AccountAdapter/getUser?params=%5B1%5D 401 (Unauthorized)
测试是在移动浏览器模拟器中进行的,适用于 ios 平台。
我记得在以前版本的 MFP 中,对适配器的调用会自动协商令牌以访问受保护的资源。
在没有复杂的授权过程的情况下仍然可以这样做吗?
如果不是,调用受保护资源需要什么?
【问题讨论】:
【参考方案1】:请阅读有关安全性的文档:https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/8.0/authentication-and-security/#disabling-protection
您是否尝试过禁用安全性?
在 JavaScript 适配器中添加 secured
属性并将其值设置为 false
。
例如:
<procedure name="deleteUser" secured="false">
【讨论】:
是的,我做到了,而且成功了……但这不是我想做的。在 MFP 7.1 中,我在没有指定属性“wl_unprotected”的情况下调用了适配器,并且框架自动协商了用于过程调用的令牌......这种方法仍然有效吗? 没有。您需要阅读 v8.0 中的安全框架。它已经改变了。 好的。我遵循此链接mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/8.0/… 上提供的文档部分,因为我想在不配置复杂安全检查的情况下保护资源,但它不起作用。我无法理解它是如何工作的。你能举个例子吗?以上是关于MobileFirst 8.0 - 从 WLResourceRequest 调用受保护的适配器的主要内容,如果未能解决你的问题,请参考以下文章
Mobilefirst 8.0 推送通知 API - 推送设备注册 (POST)