2017-07-28 76 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

相關問題