2017-04-03 16 views
0

私はトークンベースの認証に関していくつかの助けが必要です。私たちはクライアントサーバーモデルを持っています。クライアントは初めてサーバーに接続し、トークンを取得します。このトークンは、新しいメッセージがサーバーに送信されるたびに利用されなければなりません。私はそのようなユーザーはいません。メッセージはシステムからのトリガーです。誰かが進める方法を提案してもらえますか? 私はこのリンクに出会いました http://www.tomchristie.com/rest-framework-2-docs/api-guide/authenticationDjango Token IPベースの認証

しかし私は機械からの要求があるのでユーザーにそれを保存することについては混乱しています。

答えて

0

リクエストが特定のIPからのものかどうかを確認できるミドルウェア層を持つことができます。そうであれば、要求を許可または拒否するようにプログラムできます。リクエストが許可されている場合は、Djangoトークン認証を使用して認証できます。ここで私はあなたがすべてのAPIで使用できるデコレータを持つことができます

class MiddleWare2CheckIP(object): 
    def process_request(self, request): 
     ip = request.META['REMOTE_ADDR'] 
     ### if ip is in list: 
      ... 

Tastypie

、あなたはDRFのようなものを使用していると仮定して、MIDDLEWARE_CLASSES

MIDDLEWARE_CLASSES = (
    ..., 
    'path-to-middleware-MiddleWare2CheckIP', 
    ... 
) 

OR

にミドルウェアのパスを追加します、特定のIPからの要求かどうかを確認してください

+0

ありがとうございます。私は、リクエストが処理される前にミドルウェアで認証しようとしています。しかし、私はトークンを生成する必要がある時点で打たれました。新しいクライアントマシンが生成されるトークンを登録するたびにセットアップを行うことはできますか?ユーザーの関与なし。 – Siriya

+0

djangoトークンベースの認証を確認してください。 django-allauthのようなものを使用してください。 – AceLearn

関連する問題