2016-12-15 37 views
1

我開發了一個Chrome擴展程序,可以在某些網頁上執行一些理想的操作。如何控制API使用並允許試用/演示使用?

我的意圖是能夠銷售API密鑰,以便該擴展可以繼續爲購買了有效密鑰的客戶工作。

我已經將擴展與我的網站掛鉤以檢查密鑰是否存在,否則沒有數據傳送到擴展。

我使用localStoragechrome.storage來保存從我的網站獲得的API密鑰。這工作正常。

當沒有有效的密鑰時(擴展程序剛剛安裝,所以用戶將獲得100個免費查詢,然後彈出一條消息提醒他們),我也做了免費的擴展工作作爲試用/演示他們購買一個API密鑰)。

問題是:如果用戶刪除擴展並重新安裝它,我將無法檢查此客戶是否已經使用了100次免費查詢。

我能做些什麼來跟蹤API使用情況,同時允許爲新客戶免費試用?

我的後端API函數駐留在PHP上。

編輯:我不想設置用戶名/密碼,因爲他們可以從一個用戶傳遞到另一個用戶,然後,我最終得到一個付費客戶與所有人共享他的帳戶。

+0

[阻止用戶篡改Chrome擴展程序的免費試用版](http://stackoverflow.com/questions/34348490/prevent-user-from-tampering-with-a-chrome-extensions-free-trial ) –

+1

阻止用戶共享密鑰的方式與共享登錄名/密碼的方式相同? –

+0

@AlexBlex用戶將無法看到API密鑰。密鑰存儲在'chrome.storage.sync'中,它們與之沒有直接的交互。 – Ahmad

回答

0

我想你必須跟蹤用戶執行的免費查詢次數。如果你在客戶端執行該操作,就像在localStorage或chrome.storage中存儲那種類型的數據一樣,如果未被阻止或清除,它將丟失。如果你在服務器端執行該操作,跟蹤數據將存儲在你的數據庫中(假設你使用了一個用於註冊的API密鑰),以便檢查api密鑰是否有效。

希望它有幫助!

+0

我可以將免費查詢跟蹤信息存儲在我的服務器,但我如何確保用戶不會刪除擴展程序並重新安裝並獲得額外的100個免費查詢?即使用戶刪除/重新安裝了擴展程序,是否可以識別用戶? – Ahmad

+0

不幸的是,對於像Chrome擴展那樣的客戶端的東西,你永遠不能確保防止刪除/取消防止或過期的用途。您可以進行身份​​驗證來識別用戶,並將您的許可證密鑰綁定到他們的api密鑰。 簡而言之: - 您實現了一些簡單快捷的Auth來使用您的擴展。 – bLuke

+0

不正確。同步存儲也會在重新安裝時消失。 –