Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将作用域键用于写入?(作用域写入键返回401个未经授权。)_Javascript_C#_Keen Io - Fatal编程技术网

Javascript 如何将作用域键用于写入?(作用域写入键返回401个未经授权。)

Javascript 如何将作用域键用于写入?(作用域写入键返回401个未经授权。),javascript,c#,keen-io,Javascript,C#,Keen Io,如何将作用域键用于写操作 当我尝试使用(作用域)写密钥时,API响应401 Unauthorized;“主写钥匙”就像一个符咒。使用范围键进行读取操作也可以 我假设我对过滤器等的选择不起作用,但我在中找不到有关作用域键如何用于write操作的任何详细信息 (对于上下文,我正在努力约束作用域键以强制执行某些参数值。本质上,使用作用域键“切分”给定键上的集合,以便多个租户可以写入同一个集合,同时不能伪造彼此的值。) 我使用的过滤器如下所示: { "filters": [ {

如何将作用域键用于写操作

当我尝试使用(作用域)写密钥时,API响应
401 Unauthorized
;“主写钥匙”就像一个符咒。使用范围键进行读取操作也可以

我假设我对过滤器等的选择不起作用,但我在中找不到有关作用域键如何用于
write
操作的任何详细信息

(对于上下文,我正在努力约束作用域键以强制执行某些参数值。本质上,使用作用域键“切分”给定键上的集合,以便多个租户可以写入同一个集合,同时不能伪造彼此的值。)

我使用的过滤器如下所示:

{
  "filters": [
    {
      "property_name": "whatever",
      "operator": "eq",
      "property_value": "client value"
    }
  ],
  "allowed_operations": ["write"]
}
我使用.net SDK来创建作用域密钥,并可以通过随后解密密钥来验证筛选器值。它将用于web应用程序,因此使用,类似于:

var client = new Keen({
    projectId: "…",
    writeKey: "…", // <- generated scoped write key goes here
    readKey: "…",
    protocol: "https",
    host: "api.keen.io/3.0",
    requestType: "jsonp"
});

client.addEvent("my-collection", { /* … */ }, function (err, res) { /* … */ });
var客户机=新客户机({
项目D:“…”,

writeKey:“…”,//SOP:Keen API希望您在
POST
请求中提供启用写入作用域的键作为
writeKey

write
操作的作用域键不会按照您的建议执行(至少今天不会)。当前用于写入的作用域键只会混淆主/写键。作为每个事件一部分附加的所有属性数据仍必须在客户端addEvent方法的JSON负载中提供

我们通常建议在将写操作发送到Keen之前需要保护/操作写操作的情况下使用服务器端实现