2017-07-28 74 views
0

当我访问我的服务器有以下工作原理:访问Android中的解析服务器,而主密钥不给授权

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

您是否向您的index.js添加了客户端密钥?当你初始化分析服务器?我知道parse-server何时启动,他们提出了可选的(尽管推荐)。它不被视为“秘密”,因为它可以从您的应用程序反编译,但绝对不能将您的主密钥放入移动客户端。 –

+0

看来我从代码中删除了所有'clientKey',但问题仍然存在。 – Muz

+0

我建议使用客户端密钥。你的服务器如何初始化?有或没有客户端密钥?请告诉你编辑index.js。 –

回答

1

它带来了这里:https://github.com/parse-community/parse-server

使用Parse使用的客户端密钥不再需要与解析服务器。如果你希望仍然需要它们,也许能够拒绝访问较老的客户端,你可以在初始化时设置密钥。设置这些密钥中的任何一个都需要所有请求提供其中一个配置的密钥。

  • clientKey
  • javascriptKey
  • restAPIKey
  • dotNetKey

发生了什么事,我有restAPIKey我的配置文件中,所以它需要与其他四个按键中的任何一个好。新的更新迫使我的应用程序使用clientKey或从配置中删除restAPIKey

相关问题