Parse Cloud中的万能钥匙是什么?

rih*_*ihe 4 objective-c parse-platform

有人可以向我解释一下master keyParse Cloud Code中的内容是什么?

最近实现的CC功能(使用主密钥)是否有可能改变其他非Cloud Code功能的行为?

作为一个实例,您有一个正常工作的解决方案,它允许当前用户将其他PFUser对象添加到关系中,并在需要时删除它们.在此之前,您不需要,master key因为您PFUser currentUser使用当前用户编写.稍后您要创建另一种类型的用户关系,在此处您要编写另一个PFUser对象,现在这次需要使用master key,因为如果没有这个,currentUser将无法编写其他PFUser对象.因此,您创建一个云代码文件来处理此问题,并currentUser为写入其他用户的实际内容提供合法性.现在一切正常,当实际用户想要编写其他用户对象时,我们不会收到错误.然而事情发生了.当currentUser尝试从他的第一个删除数据时PFRelation(在新的cc函数之前也有效),他得到了..user must be authenticated via logIn or signUp我们在第一次尝试编写其他用户之前得到的相同错误.

我想因为我们使用主密钥它会覆盖现有的/原始的安全选项,我们需要为其他所有功能实现它.我对吗?如果是,我该如何处理?或者是否可以在main.jscc文件中设置不同的限制,并且每个"旧"函数将以相同的方式加上使用主密钥的新函数?

我真的很感激有关这个主题的任何信息,因为这对我来说是一个巨大的黑洞.

Fos*_*sco 9

主密钥会覆盖所有安全性,例如ACL或基于类的权限.它就像"root"密码.

您应该仅在需要时调用它,因为启用后当前请求的所有方法Parse.Cloud.useMasterKey();都将使用主密钥.

您可以通过将选项传递给单个查询/保存/ etc方法来有选择地使用它.

query.find({ useMasterKey: true }).then(function(results) { // ...

object.save(null, { useMasterKey: true }).then( // ...
Run Code Online (Sandbox Code Playgroud)