アクセスが許可されているアプリケーションを何らかの形で制御する必要がある単純な Web サービス アプリがあります。
oauth などは必要ありません。必要なのは、リクエストで送信する必要がある何らかのキーを生成することだけです。これらのキーを手動で生成できます。自動化は必要ありません。ただし、特定のキーが悪用された場合は、そのキーへのアクセスを閉じることができなければなりません。
その方法についていくつかのアイデアがありますが、ベスト プラクティスのヒントをいくつか教えてください。
アクセスが許可されているアプリケーションを何らかの形で制御する必要がある単純な Web サービス アプリがあります。
oauth などは必要ありません。必要なのは、リクエストで送信する必要がある何らかのキーを生成することだけです。これらのキーを手動で生成できます。自動化は必要ありません。ただし、特定のキーが悪用された場合は、そのキーへのアクセスを閉じることができなければなりません。
その方法についていくつかのアイデアがありますが、ベスト プラクティスのヒントをいくつか教えてください。
API キーを生成する Tastypie の方法に触発されるかもしれません。関連するコードはこちらを参照してください。
あなたの特定のケースでは、同時に有効な多くの API キーを持つことになるようです。したがって、これを置き換える必要があります:
user = models.OneToOneField(User, related_name='api_key')
と:
user = models.ForeignKey(User, related_name='api_keys')
次のようなフィールドを追加する必要があります。
is_valid = models.BooleanField(default=True)
に関連付けられた特定のキーuser
が有効かどうかを示します。