Django restful api を保護しようとしています。
私は2つのクライアントを手に入れました:
- 私のDjangoフロントエンドアプリケーション(サーバー上のAjaxリクエスト)
- httplib を使用して独自のリクエストを作成する Python アプリケーション
今のところ、HTTP 基本認証を使用して、クライアントがリソースを消費できるようにしています。Cookie セッションを管理する認証方法の基本的なユーザー名/パスワード。本番環境では、API が https 経由でのみ利用できるようにしています。
私は HMAC 構造を実装しようとしました (パスワードを送信したくないため、両端に秘密を保存する必要があるため)。これは他の Python アプリケーションではうまく機能しますが、Django フロント エンド アプリケーションではうまく機能しません。これは、すべてのユーザーが JavaScript コードを見ることができるためです。
セッション状態 (実際には REST) を維持したくないので、別の認証方法を実装しようとしました。
curl -H "PERSONAL_SECRET_API_KEY: TokenKeyxxxxxxxxxx" https://localhost:8000/api/resource/
ここで私の質問:
- 基本認証システムの弱点は何ですか?
- 私の目的に合った別の方法はありますか?
ありがとうございました