我的項目包括一個Web應用程序,一個移動應用程序和一個REST API模塊。如何在移動應用程序和服務器之間保護REST API
該移動應用程序是用Ionic 3 for android製作的,並使用位於example.com/api.php地址的REST API在服務器上使用https。該API可以訪問MySQL數據庫。
對於訪問API的用戶,我必須創建API函數/註銷的登錄/訪問權限,因爲他們已經擁有在Web應用程序中創建的帳戶。
主要關心的是實現安全登錄。意思是說,如果有人試圖在未經授權的情況下訪問我的API(知道地址,函數名稱或使用的參數名稱)以收回錯誤消息。爲了訪問API,您必須登錄並有權訪問某個部分(我有多個訪問級別)。 但是,如何檢測訪問我的REST API的用戶是否已登錄並具有適當的權限?
計劃:
對於登錄步驟 爲了訪問REST API我有在應用程序的用戶名/密碼登錄。我檢查憑證是否正確(如果用戶存在,則確定訪問級別),並根據需要(令牌)返回帶有用戶標識和其他參數的JWT。將電話本地存儲在JWT中。
確保訪問REST API函數 問題是:我該怎麼做?如何從我的REST API訪問安全的功能?
- 對於我向REST API發出的每個請求,我是否也應該從本地存儲器發送令牌並在服務器端驗證它?
- 如何在服務器上執行驗證?我是否將令牌存儲在設備上以及服務器上,並對每個請求進行比較?
非常感謝!
有很多方法可以做到這一點,包括用戶註冊,使用令牌等。在Stack Overflow上,你應該顯示你已經嘗試了什麼,什麼不工作。有關如何發佈您的問題的建議,請參閱https://stackoverflow.com/help/mcve。這樣的問題往往被認爲是廣泛的或基於意見的,因爲有很多方法可以做你正在嘗試的事情。過去,我使用了令牌方法,在您登錄的位置爲該令牌提供所有REST請求,並且驗證該令牌的服務器仍然有效,如果是,則執行請求。 –