DocumentDb REST 权限和资源令牌
DocumentDb REST Permissions and Resource Tokens
我正在尝试为整个集合创建只读权限。我的服务器检索用户和关联资源令牌的权限,将其发送到客户端 (phone) 应用程序,然后 phone 应用程序可以自行检索一些文档。
应该是直截了当的。
根据 Azure 文档中的 create a permission link,文档是这样说的:
The full addressable path of the resource associated with the permission. For example, dbs/ruJjAA==/colls/ruJjAM9UnAA=/.
但示例显示:
{
"id": "a_permission",
"permissionMode": "Read",
"resource": "dbs/volcanodb/colls/volcano1"
}
并且样本显然是基于 ID 的,我的项目的其余部分也是如此。
FWIW,我测试了两者,如果您根据 id 创建权限,就像示例一样,您会收到禁止响应。
如果您使用完整资源创建权限,则它可以正常工作。
希望我一整天的整理工作对某人有所帮助。 :)
而且我知道如果我不真正 post 有人会屈服,所以这是我的问题:
这是文档中的错误,还是代码中的疏忽,未来的增强或在线证明我的菜鸟是因为我不知何故做错了?
TIA。
您需要提供完整路径,例如 dbs/volcanodb/colls/volcano1(使用 name/id 或 dbs/ruJjAA==/colls/ruJjAM9UnAA=/ 时不带尾部斜线(使用时带尾部斜线使用 self-link)。简单地证明名称,如 volcano1,是行不通的,因为一个帐户中可以有多个 volcano1 集合。这里有更多关于 self-links 的信息:https://azure.microsoft.com/en-us/blog/azure-documentdb-bids-fond-farewell-to-self-links/.
我正在尝试为整个集合创建只读权限。我的服务器检索用户和关联资源令牌的权限,将其发送到客户端 (phone) 应用程序,然后 phone 应用程序可以自行检索一些文档。
应该是直截了当的。
根据 Azure 文档中的 create a permission link,文档是这样说的:
The full addressable path of the resource associated with the permission. For example, dbs/ruJjAA==/colls/ruJjAM9UnAA=/.
但示例显示:
{
"id": "a_permission",
"permissionMode": "Read",
"resource": "dbs/volcanodb/colls/volcano1"
}
并且样本显然是基于 ID 的,我的项目的其余部分也是如此。
FWIW,我测试了两者,如果您根据 id 创建权限,就像示例一样,您会收到禁止响应。
如果您使用完整资源创建权限,则它可以正常工作。
希望我一整天的整理工作对某人有所帮助。 :)
而且我知道如果我不真正 post 有人会屈服,所以这是我的问题:
这是文档中的错误,还是代码中的疏忽,未来的增强或在线证明我的菜鸟是因为我不知何故做错了?
TIA。
您需要提供完整路径,例如 dbs/volcanodb/colls/volcano1(使用 name/id 或 dbs/ruJjAA==/colls/ruJjAM9UnAA=/ 时不带尾部斜线(使用时带尾部斜线使用 self-link)。简单地证明名称,如 volcano1,是行不通的,因为一个帐户中可以有多个 volcano1 集合。这里有更多关于 self-links 的信息:https://azure.microsoft.com/en-us/blog/azure-documentdb-bids-fond-farewell-to-self-links/.