4

Dropbox API を使用して簡単なコードを作成しました。これは、アプリの APP_KEY と APP_SECRET の使用を意味します。誰かが私のアプリも使いたいとしましょう。githubのレポを作ったり、コードをプッシュしたりしていますが、もちろんAPP_KEYやAPP_SECRETのは入れていません。ユーザーはこのアプリケーションの独自のインスタンスを登録する必要がありますか? 他に対処する方法はありますか?APP_KEY と APP_SECRET を共有するだけで十分安全なのではないでしょうか?

言い換えれば、Dropbox は認証にユーザー名とパスワードのペアを使用することを禁止しています (Dropbox の公式アプリはまさにそれを行っています) が、(たとえば) コンテキスト メニューとユーザーからファイルへのパブリック リンクを取得するための KDE の Dolphin 用のプラグインを作成したいと考えています。これらすべてのSECRETS、KEYSなどについても知っておくべきではありません. 私は何をすべきか?

4

3 に答える 3

2

私の見方では、アプリのキーとシークレットは、コード自体ではなく、アプリのインスタンス/リリースを識別する必要があります。そのため、たとえば github でコード自体をリリースする場合は、アプリ キーとシークレットを含めないでください。(これを行う 1 つの方法は、アプリが読み取る構成ファイルにそれらを保持することですが、パブリック リポジトリには構成ファイルを含めないでください。)

次に、アプリをリリースするとき (つまり、一般的な使用のためにエンド ユーザーに公開するとき) に、アプリ キーとシークレットを組み込み、ユーザーにははっきりと見えないようにすることができます。もちろん、ここでの詳細は、シナリオに基づいたちょっとした判断です。たとえば、コンパイルされていないアプリ (シェル スクリプトなど) は、デフォルトで、「リリース」された場合でもソースをプレーン テキストで利用できるようにするため、おそらくそれらを含めたくないでしょう。

ただし、代わりに、他の開発者がコードを使用して (ソースから) アプリを自分でビルドしたい場合は、独自のアプリ キー/シークレットを登録して使用する必要があります。

于 2013-01-31T17:32:55.020 に答える
1

Figaro Gem を使用して Dropbox の秘密鍵を隠しています: https://github.com/laserlemon/figaro

于 2014-07-10T22:06:42.667 に答える