当我使用以下内容访问我的服务器时,它可以工作:
curl -X POST \
-H "X-Parse-Application-Id: xxx" \
-H "X-Parse-Master-Key: yyy" \
-H "Content-Type: text/plain" \
-d '{"score":1337,"playerName":"Sean Plott","cheatMode":false}' \
http://xx.xx.xx.xx/parse/classes/Inventory
但是当我使用以下内容时,它不会:
curl -X POST \
-H "X-Parse-Application-Id: xxx" \
-H "Content-Type: text/plain" \
-d '{"score":1337,"playerName":"Sean Plott","cheatMode":false}' \
http://xx.xx.xx.xx/parse/classes/Inventory
我得到了这个错误:
{"error":"unauthorized"}
之前的工作非常好。我更改了一些设置并更新到最新的Parse Server版本,然后它停止工作,以及与之相关的所有其他应用程序。
Web版本有效,建议REST API密钥正常。我也可以通过仪表板完美地访问所有内容。唯一的问题是当我使用Android访问它时,它只能提供用于识别的应用程序ID。
我可能更改了设置错误,阻止了这个吗?我认为我没有改变任何东西,尽管我没有关闭括号或在server.js文件上发表评论的可能性很小。
答案 0 :(得分:1)
它出现在这里:https://github.com/parse-community/parse-server
Parse Server不再需要与Parse一起使用的客户端密钥。如果您仍然需要它们,也许是为了能够拒绝访问旧客户端,您可以在初始化时设置密钥。设置任何这些密钥都需要所有请求提供一个已配置的密钥。
- clientKey
- javascriptKey
- restAPIKey
- dotNetKey
发生的事情是我的配置文件中有restAPIKey
,因此它还需要其他四个键中的任何一个。新更新强制我的应用使用clientKey
或从配置中删除restAPIKey
。