在没有主密钥的情况下访问Android中的Parse服务器不会授予权限

时间:2017-07-28 12:26:01

标签: android parse-server bitnami

当我使用以下内容访问我的服务器时,它可以工作:

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文件上发表评论的可能性很小。

1 个答案:

答案 0 :(得分:1)

它出现在这里:https://github.com/parse-community/parse-server

  

Parse Server不再需要与Parse一起使用的客户端密钥。如果您仍然需要它们,也许是为了能够拒绝访问旧客户端,您可以在初始化时设置密钥。设置任何这些密钥都需要所有请求提供一个已配置的密钥。

     
      
  • clientKey
  •   
  • javascriptKey
  •   
  • restAPIKey
  •   
  • dotNetKey
  •   

发生的事情是我的配置文件中有restAPIKey,因此它还需要其他四个键中的任何一个。新更新强制我的应用使用clientKey或从配置中删除restAPIKey