我打算使用Python
爲Spotify
編寫Kodi (former XBMC)
插件。前段時間,Spotify不贊成舊圖書館libspotify
,並基於WebAPI
推出了新的ReST
。我希望使用此API來請求播放列表,跟隨Spotify的專輯和其他用戶特定內容的數據。此WebAPI
使用OAUTH
機制來授權應用程序使用用戶特定的數據。 因此,我需要Client ID
和Client Secret
。雖然Client ID
是公開的,但我並沒有將它存儲在源代碼中的問題。但是Client Secret
呢?這個祕密是應用程序需要在spotify進行身份驗證的。因此,它也需要部署。在python中安全部署客戶機密
我該如何安全地部署這個祕密,使得該插件的用戶無法讀出祕密?
我不能使用混淆技術,因爲python被解釋並且用戶可以簡單地啓動解釋器,導入我的模塊並讀出重建的祕密。這同樣適用於加密密鑰。應用程序需要能夠解密密鑰,因此,我需要部署加密密鑰。這是一個雞或雞蛋問題。
對此有何建議?其他軟件如何解決這個問題?
編輯:我剛剛發現這個RFC6819。似乎這是oauth
中的一個普遍問題。