記事のディレクトリ
jwt使用パッケージ:djangorestframework-simplejwt
インストールして使用する
pip install djangorestframework-simplejwt
構成
- Django設定でバックエンドを構成する
REST_FRAMEWORK = {
...
'DEFAULT_AUTHENTICATION_CLASSES': (
...
'rest_framework_simplejwt.authentication.JWTAuthentication',
)
...
}
SIMPLE_JWT = {
# 配置jwt有效期
'ACCESS_TOKEN_LIFETIME': timedelta(days=1),
}
- 対応する構成に従って、ルートにインポートします(ルートは独自のパスに変更されます)
jwtパッケージは、ログインビジネスロジック(詳細なパッケージソースコード)を実装します
データを確認する
ctrl + bでソースコードを入力し、ログインを実現するビューを見つけます。ここにあります。フロントエンドのPOSTリクエストによって渡されたデータの処理、シリアル化、逆シリアル化に役立つシリアライザーもあります。
- シリアライザーに入ります:これがデータを検証する機能です
- 上記の2つのデータ更新と「アクセス」を返します
カスタム返品結果
カスタムビューとシリアライザーは、上記の2つから継承されます。次に、返したいデータを追加します。
データを取得する
- 前述のように、フロントエンドはPOSTリクエストを送信しますが、誰がPOSTリクエストを処理しますか?クラスが継承されていることに気づきました。それだけです。そのソースコードを見てください
。リクエストを処理するためのメソッドがあります。彼が呼ぶシリアライザーは、上記のシリアライザーです。
内部認証は引き続き認証を使用します
このメソッドを書き直して、検証をカスタマイズします(前述)。