2016-09-19 14 views
0

nginx webserver/reverse-proxyの後ろにあるgunicornアプリケーションサーバーで実行されているdjangoで作成されたWebアプリケーションがあります。私はいくつかの処理されたデータ(csv/json)にアクセスするために外部アプリケーションを用意する必要があります。基本的なdjangoの認証/ログインは、シンプルなスクリプトが単純な要求、クッキーなど(私によって作られていない)でデータをプルする必要があるので最適ではありません。APIアクセス認証/アプリケーションキー(django/nginx/gunicorn)

今のところ、私はサービスのみ

  • がで「攻撃面」を減らすためにジャンゴにIPフィルタを作成したHTTPS/TLSで利用可能に設定

    1. あります

    request.META['HTTP_X_REAL_IP']および転送するために、nginxのを使用して私が含まれるように考えていた

    proxy_set_header X-Real-IP $remote_addr; 
    

    次と要求に含まれる必要がある、と有効なキーのリストについては、DBに対してチェックされるアプリケーションキー(PWか何かのハッシュ):で腹腔。

    これは適切なapi認証ですか、それとも使用可能な他のものがありますか?アプリケーションの主要なフレームワークのいくつかの並べ替え?

  • 答えて

    1

    セッション/ Cookieベースの認証方法のほかに、多くの認証方法があります。あなたの場合は、簡単なトークン認証を提案します。ただ、追加のヘッダを送信する、あなたのDjangoアプリと外部アプリでとDjangoする外部アプリからのリクエストごとに同じトークンを保存します。それが一致した場合

    Authentication: Token YOUR_TOKEN_KEY 
    

    は今、あなたはDjangoのに必要なことは、そのトークンを取得してチェックすることです1つはローカルに保存されます。

    さらにAPIの認証オプションをご希望の場合は、Django Rest Framework documentationをご確認ください。

    +0

    私が探していたものとまったく同じですが、これを試してみましょう。ありがとう! – vltrrr