Parse平台提交带自定义createdAt、updatedAt的记录被覆盖如何解决
Parse默认会对createdAt、updatedAt两个系统字段做自动维护,普通请求传入的对应值会被直接覆盖,这是内置的安全策略,避免用户随意篡改审计类字段。你可以通过以下两种方式开启自定义权限:
- 单次请求配置(更安全,推荐)
你已经在请求中携带了Master Key,只需要额外新增一个X-Parse-Allow-Custom-Audit-Dates: true请求头即可生效,调整后的curl请求如下:
该配置同时支持自定义curl -X POST \ -H "X-Parse-Application-Id: ${APPLICATION_ID}" \ -H "X-Parse-Master-Key: ${MASTER_KEY}" \ -H "X-Parse-Allow-Custom-Audit-Dates: true" \ -H "Content-Type: application/json" \ -d '{"objectId": "xdH402yd9z", "field": "testData", "createdAt": {"__type": "Date", "iso": "2020-05-23T12:26:17.548Z"}}' $URLcreatedAt和updatedAt字段,和你的预期一致。 - 服务端全局配置(不推荐,安全性低)
如果你需要所有携带Master Key的请求都默认支持自定义这两个字段,可以在Parse Server的启动配置中添加allowCustomAuditDates: true参数,后续请求不需要再加额外请求头即可生效。
注意:未携带Master Key的普通用户请求,即使添加了上述请求头也不会生效,属于Parse的默认安全限制。
内容的提问来源于stack exchange,提问作者MeIr
相关产品推荐
相关产品推荐

