7

私は現在、Django の従来の Cookie ベースのセッションを置き換えて無効にし、Web サイト上のユーザーのユーザー認証の手段として JSON Web トークンに置き換えたい Django プロジェクトに取り組んでいます。単なる REST API ではなく、ウェブサイトの一部)。

Web アプリで JSON Web トークンを使用する方法: ログイン ページは API 呼び出しを行い、応答として JSON Web トークンを受け取り、JSON Web トークンは (ローカル ストレージ、セッション ストレージ、または Cookie) を介して保存されます。 . JSON Web トークンは、(ログイン後に) 後続の HTTP 要求の HTTP ヘッダーで渡されるため、サーバーは私たちが承認されたユーザーであることを認識します。

私が調べたライブラリのいくつかは、' djangorestframework ' ライブラリです。サイトの API に関する特定の URL を保護しているようです (私が望んでいるものではありません)。Django が使用する通常の「Cookie ベースの」セッションを JSON Web トークンに置き換え、「Cookieベースの」セッション認証スキームの通常の機能を備えたライブラリはありますか (通常の意味は「ユーザーのログインとユーザーのログアウトが機能します。サイトとDjango のデフォルトの管理パネル') もしそうなら、そのライブラリを現在の Web アプリと統合して通常の機能を実現するにはどうすればよいですか?

また、従来の「Cookie ベースの」セッションを無効にしたいと考えています。ユーザー認証がJSON Web トークンのみで行われるように完全に無効にするにはどうすればよいですか?

4

1 に答える 1

2

jwt を認証クラスに使用するだけです。

JSON Web トークン認証

JSON Web Token は、トークンベースの認証に使用できるかなり新しい標準です。組み込みの TokenAuthentication スキームとは異なり、JWT 認証ではデータベースを使用してトークンを検証する必要はありません。Blimp は、JWT 認証クラスを提供する djangorestframework-jwt パッケージと、クライアントがユーザー名とパスワードを指定して JWT を取得するメカニズムを維持します。

また、デフォルトの認証クラスを jwt に設定し、setting.py のように設定を決定します。

REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
    'oauth2_provider.ext.rest_framework.OAuth2Authentication',
)

}

于 2016-06-20T22:04:51.533 に答える