2016-09-16 186 views
2

我打算使用PythonSpotify編寫Kodi (former XBMC)插件。前段時間,Spotify不贊成舊圖書館libspotify,並基於WebAPI推出了新的ReST。我希望使用此API來請求播放列表,跟隨Spotify的專輯和其他用戶特定內容的數據。此WebAPI使用OAUTH機制來授權應用程序使用用戶特定的數據。 因此,我需要Client IDClient Secret。雖然Client ID是公開的,但我並沒有將它存儲在源代碼中的問題。但是Client Secret呢?這個祕密是應用程序需要在spotify進行身份驗證的。因此,它也需要部署。在python中安全部署客戶機密

我該如何安全地部署這個祕密,使得該插件的用戶無法讀出祕密?

我不能使用混淆技術,因爲python被解釋並且用戶可以簡單地啓動解釋器,導入我的模塊並讀出重建的祕密。這同樣適用於加密密鑰。應用程序需要能夠解密密鑰,因此,我需要部署加密密鑰。這是一個雞或雞蛋問題。

對此有何建議?其他軟件如何解決這個問題?

編輯:我剛剛發現這個RFC6819。似乎這是oauth中的一個普遍問題。

回答

2

在這種情況下,您可以使用專爲客戶端應用程序設計的Implicit Grant Flow,因爲出於安全原因存儲祕密是不切實際的。