我们在用 React2(使用JS SDK,非云引擎)给公司的运营人员做一个后台管理网站,需要修改用户信息。在 AV.initialize 中用了master key,但发出去的AJAX请求依然返回206。

感觉这和文档中的描述不一样:

https://leancloud.cn/docs/error_code.html#_20610

信息 - The user cannot be altered by a client without the session.
含义 - 没有提供 session,无法修改用户信息,这通常是因为没有登录的用户想修改信息。修改用户信息必须登录,除非在云引擎里,或者使用 master key 调用 REST API。

其中说到要么在云引擎中,要么使用 master key 调用 REST API。但我已经在初始化的时候用到了master key。

是我的用法不对吗?还是这是个bug?

目前 JavaScript SDK 在浏览器(而不是 Node)中工作时,是不会发送 Master Key 的,因为我们不鼓励在浏览器中使用 Master Key,Master Key 代表着对数据的最高权限,只应当在后端程序中使用。

如果你的应用的确是内部应用(做好了相关的安全措施,外部访问不到),可以在 AV.initialize 之后加一行:AV._useMasterKey = true; 来让 JavaScript SDK 发送 Master Key。

是精子不是蝌蚪