作用域键如何用于写入? (作用域写密钥 return 401 未经授权。)
How are scoped keys to be used for writes? (Scoped write keys return 401 unauthorized.)
范围键如何用于写操作?
当我尝试使用(范围内的)写入密钥时,API 响应 401 Unauthorized
; "master write key" 就像一个魅力。也可以使用范围键进行读取操作。
我假设我选择的筛选器等不起作用,但我无法在 the documentation 中找到任何关于作用域键如何用于 write
操作的详细信息。
(对于上下文,我正在努力限制范围键以强制执行某些参数值。本质上,使用范围键 "shard" 给定键上的 collections 以便多个租户可以写入相同的 collection,同时不能伪造彼此的值。)
我使用如下过滤器:
{
"filters": [
{
"property_name": "whatever",
"operator": "eq",
"property_value": "client value"
}
],
"allowed_operations": ["write"]
}
我使用.net SDK 创建范围密钥,然后可以通过解密密钥来验证过滤器值。它将在网络应用程序上使用,因此使用 Keen IO JS library,类似于:
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) { /* … */ });
Keen.IO 上的范围写入的 SOP 是什么?
SOP:Keen API 希望您在 POST
请求中提供可写范围键作为 writeKey
。
write
操作的作用域键不会按照您的建议执行(至少今天不会)。当前范围内的写入键无非就是混淆你的 master/write 键。您作为每个事件的一部分附加的所有 属性 数据仍必须在客户端的 addEvent 方法的 JSON 负载中提供。
如果您需要 protect/manipulate 在将写入发送到 Keen 之前,我们通常建议使用服务器端实现。
范围键如何用于写操作?
当我尝试使用(范围内的)写入密钥时,API 响应 401 Unauthorized
; "master write key" 就像一个魅力。也可以使用范围键进行读取操作。
我假设我选择的筛选器等不起作用,但我无法在 the documentation 中找到任何关于作用域键如何用于 write
操作的详细信息。
(对于上下文,我正在努力限制范围键以强制执行某些参数值。本质上,使用范围键 "shard" 给定键上的 collections 以便多个租户可以写入相同的 collection,同时不能伪造彼此的值。)
我使用如下过滤器:
{
"filters": [
{
"property_name": "whatever",
"operator": "eq",
"property_value": "client value"
}
],
"allowed_operations": ["write"]
}
我使用.net SDK 创建范围密钥,然后可以通过解密密钥来验证过滤器值。它将在网络应用程序上使用,因此使用 Keen IO JS library,类似于:
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) { /* … */ });
Keen.IO 上的范围写入的 SOP 是什么?
SOP:Keen API 希望您在 POST
请求中提供可写范围键作为 writeKey
。
write
操作的作用域键不会按照您的建议执行(至少今天不会)。当前范围内的写入键无非就是混淆你的 master/write 键。您作为每个事件的一部分附加的所有 属性 数据仍必须在客户端的 addEvent 方法的 JSON 负载中提供。
如果您需要 protect/manipulate 在将写入发送到 Keen 之前,我们通常建议使用服务器端实现。