2016-09-16 17 views
2

Kodi (former XBMC)プラグインをPythonに書き込む予定です。いくつかの時間前に、Spotifyは古いライブラリlibspotifyを非難し、WebAPIに基づいて新しいReSTを導入しました。このAPIを使用してプレイリストのようなデータを要求し、アルバムやSpotifyの他のユーザー固有のものをフォローしたいと思います。このWebAPIは、OAUTHメカニズムを使用して、アプリケーションにユーザー固有のデータを使用する権限を与えます。 したがって、Client IDClient Secretが必要です。 Client IDは公開されていますが、私はソースコードに保存しても問題ありません。しかし、Client Secretはどうですか?この秘密は、アプリケーションがspotifyで自分自身を認証するために必要です。したがって、それも展開する必要があります。クライアントの秘密をPythonで安全に配備する

この秘密は、プラグインのユーザーが秘密情報を読み取ることができないようにセキュリティで保護された方法で配布するにはどうすればよいですか。

私は難読化の手法を使用することはできません。なぜなら、Pythonが解釈され、ユーザーは単にインタプリタを起動し、モジュールをインポートし、再構築された秘密を読み出すだけです。同じことが鍵の暗号化にも当てはまります。アプリケーションは秘密を復号化できる必要があり、そのために暗号化キーも展開する必要があります。これは鶏や卵の問題です。

これに関するご提案はありますか?他のソフトウェアはこの問題をどのように解決しますか?

編集:私はこれを見つけましたRFC6819。このように見えるのはoauthの一般的な問題です。

答えて

2

この場合、セキュリティ上の理由から秘密情報を格納することが実用的でないクライアント側アプリケーション用に設計されたImplicit Grant Flowを使用できます。

関連する問題