-1

据我了解,我们正在注册的服务对象仅由 kinvey 集合调用。有什么办法可以在本地测试吗?

我写了下面的代码。

var sdk = require('kinvey-flex-sdk');

常量端口 = 8080;

sdk.service({ 主机: 'localhost', 端口: PORT }, function (err, flex) {

 const data = flex.data; 

 function authentication(request, complete, modules) {
       console.log("Inside...");
       complete().setBody("Authenticated");
 };

const widgets = data.serviceObject('widgets');

widgets.onInsert(authentication);

});

我的疑问是 POST 请求http://localhost:8080/widgets {} 没有触发身份验证功能。

你能帮我解决这个问题吗?

提前致谢..

4

2 回答 2

0

您需要传递以下标头:

Content-Type:application/json
Authorization:Basic <basicAuth>
X-Kinvey-App-Metadata:{ "_id" : "<kinveyAppId>", "appsecret" : "<kinveyAppSecret>", "mastersecret" : "<kinveyMasterSecret>", "baasUrl" : "<kinveyBaseURL>" }
X-Kinvey-Original-Request-Headers:{ "x-kinvey-api-version" : "<KinveyApiVersion>", "authorization" : "Basic <basicAuth>", "x-kinvey-client-app-version" : "<KinveyClientAppVersion>"}
X-Kinvey-Username:<username>
X-Kinvey-User-Id:<userid>

如果您正在使用 flex 功能:

http://localhost:<port>/_flexFunctions/<flexFunctionName>
于 2017-04-01T04:51:42.063 回答
0

您可以通过运行“node index.js”在本地运行该服务。它将启动一个您可以使用例如 Postman 接近的侦听器。每个本地测试都需要对特定路由进行“POST”。此处记录了测试路线:http: //devcenter.kinvey.com/ios/guides/flex-services#installation

另请参阅http://devcenter.kinvey.com/guides/flex-services#testing-locally 了解您需要在每个请求上设置的必要标头以获得正确的上下文和权限

于 2017-03-15T21:41:46.770 回答