2

ソースコードと一緒に/ソースコードとして配布されるプラグイン (Delicious や Twitter にアクセスする Wordpress プラグインなど) で OAuth の消費者秘密鍵を処理する最良の方法は何ですか? OAuth がこれを念頭に置いて設計されていないことは承知しており、それを解決するための提案がありますが、現時点でのベスト プラクティスは何ですか?

これには2つのアプローチがあるようです:

  1. コンシューマー シークレットをソース コードに入れ (少し難読化することもできます)、誰もそれを悪用してアプリが禁止されないようにします。誰かがそうした場合は、新しいキーをリクエストして、ソフトウェアの更新を発行してください。これは、現時点で Twitter が推奨するものです。
  2. 各自のコンシューマ キーを取得するよう全員に伝えます。これは、プラグインのインストール方法を知っているだけの非開発者を混乱させ、ソフトウェアの素早い試用を妨げる可能性があります。

2 番目のステップを自動化するのに役立つプロバイダーはありますか? サーバーがプロバイダーに連絡して、何らかの方法でアプリにリンクされているが、まだ一意の新しいコンシューマー シークレットを生成できるようにするには? または、実行可能な他のアプローチはありますか?

4

1 に答える 1

1

3 番目のオプションは、使用している OAuth サービスへのプロキシとして機能する Web アプリケーションをホストすることです。すべての API キーは、サーバー上で管理されます。欠点は、マシンを稼働させ続けるためにお金を費やす必要があることです。おまけとして、プラグインの使用状況に関する分析を収集できます。

ユーザーが独自の API キーを生成するのに十分な技術を持っていると思われる場合は、オプション 2 が可能です。私はこの方法を実装しましたが、サポートするのは面倒です。

最初のアプローチはお勧めしません。OAuth キーが盗まれ、アプリケーションになりすます可能性があるためです。API キーが公開されると、サービスは API キーをブロックし、プラグインは機能しなくなります。次に、自分が制御できなくなった一連のコードを急いでアップグレードしようとします。

于 2011-08-31T20:33:48.497 に答える