想象下面的場景:處理用於扣除積分(金錢)的客戶端API密鑰
我已經構建了一個API和一個Web應用程序。用戶將通過網絡應用程序註冊並獲得唯一的API密鑰。然後他們可以爲他們的賬戶購買「信用」,這只是美元的1:1表示。
當用戶執行API調用時,他們傳入其API密鑰。該密鑰用於識別客戶,並根據需要減去積分。
這裏有一個明顯的問題。如果用戶從他們自己的服務器執行此調用,並且密鑰保持私密狀態,則一切正常。但是,我將如何處理沒有自己的服務器的客戶?例如,將發佈了簡單Android應用的用戶帶到Play商店,而不需要服務器,並且想要集成我的產品。關鍵是必須保持客戶端。惡意用戶可能會對應用程序進行反混淆處理,並有可能執行未經授權的API調用,使用密鑰所有者的信用。
這個問題怎麼解決?有什麼辦法來處理這種情況?