2012-03-12 11 views
1

許可されていないプログラマーが悪用されるのを防ぐサービス(RPCベースのJSON)があります。独自のAPI RPCサーバーのキー

私は多くのAPIがプライベート/パブリックAPIキーのシステムを使用していることを知っています.1つのキーが接続を乱用していると、この1つのサービスだけを殺すことができます。どのように簡単かつ迅速にこれを行うには?主に私は、鍵を生成してチェックするためにアルゴリズムを使用する必要がある情報だけが必要です(接続を開始するか、またはすべての要求に対応するか)。

さらに、Google AppEngineをPythonでサーバーとして使用しています。することができます(

import random, string 

key = "".join([random.choice(string.letters + string.digits + string.punctuation) for _ in xrange(64)]) 

、ユーザーが、彼らはあなたのサービスに加え、すべてのリクエストに応じて、このキーが含まれます:

答えて

1

迅速/簡単な方法は、あなたのサービスへのアクセスを持っている各開発者のためのユニークなキーを生成することです鍵に基づいて使用状況を追跡し、濫用された鍵を禁止する)

これは最も基本的な方法です。暗号化や認可などのAPIキートラッキングだけでなく、オンラインで利用可能な確立されたプロトコル(OAuthなど)から選択することができます。

+0

一意のキーを生成したい場合は、 uuid。 http://docs.python.org/library/uuid.html – specialscope

+0

これはどのように質問に答えるべきですか?彼はキーを生成し*チェックする方法を求めています。鍵を生成してそれを応答に含めることは何も保護しません。 – aschmid00

+0

@ aschmid00 - ユーザーがリクエストに提供されたキーを含む場合、サービスを実行する形式(この場合はJSON変数)で解析し、そのキーをデータストアに対してチェックします。私はOPがキーを生成してチェックする方法にあったので、ユーザーモデルにキーを保存するコードは含まれていませんでした。ユーザーごとにこのキーを格納することは明らかでした。私が提案した方法を考えれば、鍵をチェックするのは簡単です。 – someone1

関連する問題