ホームページ >バックエンド開発 >Python チュートリアル >Django をマスターする: 安全なユーザー認証 API をゼロから構築する

Django をマスターする: 安全なユーザー認証 API をゼロから構築する

WBOY
WBOYオリジナル
2024-08-25 06:01:06372ブラウズ

「## 4日目
」 #100daysofMiva コーディング チャレンジが始まってからすでに 4 日が経過しました。 ???

? Django の詳細: 安全なユーザー認証 API を最初から構築する!

Django のスキルを 次のレベル に引き上げる準備はできていますか? ?このチュートリアルでは、Django を使用して堅牢なユーザー認証 API を作成する方法を説明します。経験豊富な開発者であっても、初心者であっても、このステップバイステップのガイドでは、ユーザー登録、ログイン、トークンベースの認証のセットアップについて説明します。

このセッションが終わるまでに、: の方法をしっかりと理解できるようになります。

    Django プロジェクトをセットアップし、必須パッケージを構成する
  1. ユーザー データのシリアライザーを作成およびカスタマイズする
  2. ユーザー登録と認証を処理するビューを構築します
  3. 安全な API アクセスのためにトークンベースの認証を実装します
  4. 私たちと一緒に空白のキャンバスを強力な認証システムに変換し、Django の旅の新たな可能性を解き放ちましょう! ??

コーディングを始めましょう! ?✨

Mastering Django: Building a Secure User Authentication API from Scratch

ステップ 1: Django 環境をセットアップします。

これを行うには、

Python がインストールされている必要があります。Pythonインストールされていることを確認します。
macOS/Linux: 多くの場合、Python はプリインストールされています。次を実行して確認できます:

Mastering Django: Building a Secure User Authentication API from Scratch または

Mastering Django: Building a Secure User Authentication API from Scratch 必要に応じて、Homebrew (macOS) またはパッケージ マネージャー (Linux) 経由で Python をインストールします。

Mastering Django: Building a Secure User Authentication API from Scratch

Windows:

    Python を python.org からダウンロードしてインストールします。
  • インストール中に Python を PATH に追加するには、必ずチェックボックスをオンにしてください。
ステップ 2. 仮想環境をセットアップする:

macOS/Linux:

仮想環境を作成してアクティブ化します:

Mastering Django: Building a Secure User Authentication API from Scratch

Windows:

仮想環境を作成してアクティブ化します:

Mastering Django: Building a Secure User Authentication API from Scratch

ステップ 3. Django とパッケージをインストールする

それでは、パッケージのないフレームワークとは何でしょうか?...必要なパッケージをインストールしてみましょう。

仮想環境がアクティブ化されている場合、Django と追加のパッケージをインストールするコマンドはすべてのオペレーティング システムで同じです。

Mastering Django: Building a Secure User Authentication API from Scratch 説明:
`

  1. djangorestframework: これは、Django で Web API を構築するための強力で柔軟なツールキットです。
  2. djangorestframework-simplejwt: このパッケージは、安全な API 認証に一般的に使用される JSON Web Token (JWT) 認証を提供します。
ステップ 4. Django プロジェクトを作成して構成する

macOS/Linux/Windows:

Django プロジェクトとアプリを作成します:

Mastering Django: Building a Secure User Authentication API from Scratch 必要なことを単純化しましょう:

  1. startproject1: このコマンドは、新しい Django プロジェクトを作成します。プロジェクトは、データベース構成、Django 固有のオプション、アプリケーション固有の設定を含む、Django インスタンスの設定のコレクションです。
  2. startapp: これにより、プロジェクト内に新しいアプリが作成されます。アプリは、特定の機能 (ユーザー管理など) を処理するプロジェクトのコンポーネントです。
ステップ 5. プロジェクト設定を更新する

すべての OS:

settings.py を変更して、アプリとインストールされているパッケージを含めます。

ファイル: auth_project/settings.py

Mastering Django: Building a Secure User Authentication API from Scratch

説明しましょうか?:

INSTALLED_APPS: ここでアプリとサードパーティのパッケージを登録します。ここでは、API 機能用のrest_framework、JWT 認証用のrest_framework_simplejwt、およびユーザー関連のタスクを管理するためのユーザー (作成したアプリ) を追加します。

一度にすべての手順を知らなくても問題ありません...練習するだけで、必ず正しく理解できるようになります

フォローしていただければ幸いです...難しいことではありません、複雑ですか?
(それがうまくいったかどうかはわかりません?)...

次に進みます...?
ここからは皆さん注目してください?

ステップ 6. シリアライザーの作成

ファイル: users/serializers.py

Mastering Django: Building a Secure User Authentication API from Scratch

説明:

  1. **シリアライザー**: Django REST フレームワークでは、シリアライザーは複雑なデータ型 (Django モデルなど) を JSON に変換したり、その逆に変換したりするために使用されます。
  2. **RegisterSerializer**: このカスタム シリアライザーはユーザー登録を処理します。これには、ユーザー名、パスワード、電子メールなどのフィールドが含まれます。
  3. **validate_password**: パスワードが特定のセキュリティ基準を満たしていることを確認します。
  4. **検証メソッド**: 2 つのパスワード フィールドが一致するかどうかを確認するためのカスタム検証。
  5. **create** メソッド: このメソッドは、新しいユーザーの作成と保存を担当します。

ステップ 7: ビューの作成

ファイル: users/views.py

Mastering Django: Building a Secure User Authentication API from Scratch
説明:

  1. **ビュー**: Django では、ビューはユーザー リクエストを処理するためのロジックを処理します。
  2. **RegisterView**: このビューはユーザー登録を処理します。
  3. **CreateAPIView**: 新しいレコードの作成を処理するための組み込みビュー。ここでは、新しいユーザーを作成するために使用されます。
  4. **permission_classes**:AllowAny は、このエンドポイントが誰でも (認証されていないユーザーも含めて) アクセスできることを意味します。これは登録に必要です。

ステップ 8: URL のセットアップ

ファイル: users/urls.py
このコードはアプリの URL

に記述されています

Mastering Django: Building a Secure User Authentication API from Scratch

説明:

URL パターン: これらはビューにマップするパスを定義します。
**register/**: この URL はユーザー登録を処理します。

次に、プロジェクトのファイルに移動します: **auth_project/urls.py**
これを入力してください...?

Mastering Django: Building a Secure User Authentication API from Scratch

説明:

  1. **include('users.urls')**: これにはユーザー アプリの URL が含まれます。
  2. JWT ビュー: TokenObtainPairView: このビューは、アクセス トークンとリフレッシュ トークンのペアを返します。 TokenRefreshView: このビューにより、クライアントはリフレッシュ トークンを使用してアクセス トークンをリフレッシュできます。
  3. **TokenObtainPairView**: このビューは、アクセス トークンとリフレッシュ トークンのペアを返します。
  4. **TokenRefreshView**: このビューにより、クライアントはリフレッシュ トークンを使用してアクセス トークンをリフレッシュできます。

次にここでゆっくり休んでもいいですか?...ここからはプレッシャーはありません、ふふ...

ステップ 9: 移行の実行

コマンド:

Mastering Django: Building a Secure User Authentication API from Scratch

これを行う機能/目的は、プロジェクトで定義したモデルとフィールドに基づいてデータベース スキーマに変更を適用することです。上記で調整したもの?

言い換えれば、プロジェクトを最新の状態に保ちます

ステップ 10: サーバーの実行とテスト

コマンド:

Mastering Django: Building a Secure User Authentication API from Scratch

このコマンドは Django 開発サーバーを起動し、プロジェクトがローカルでアクセスできるようにします。 (あなたのローカルポート)

それでは、これまでに行ったことを見てみましょう...

Postman または cURL を使用したテスト (この拡張機能は IDE からダウンロードできます)

郵便配達員の使用

  1. Postman (または任意の API テスト ツール) を開きます。

  2. 新しいリクエストを設定します

  • 1. URL: http://127.0.0.1:8000/api/auth/register/
  • 2.メソッド: POST
  1. 「本文」タブで、生の形式と JSON 形式を選択します。

  2. 次の JSON データを入力します:
    本文:

Mastering Django: Building a Secure User Authentication API from Scratch

  1. [送信] をクリックします。

この部分に関しては、Django-Rest フレームワークはフレンドリーなユーザー インターフェイスを備えているため、他のフレームワークよりも簡単にナビゲートできます

成功すると、HTTP ステータス コード 201 Created の応答と、ユーザー データを含む JSON 応答を受け取るはずです。

トークン認証エンドポイントをテストする

JWT 認証が機能していることを確認するには、トークン エンドポイントをテストします。

Postman の使用:

  1. 新しいリクエストを設定します: メソッド: POST URL: http://127.0.0.1:8000/api/token/
  2. 「本文」タブで、raw 形式と JSON 形式を選択します。
  3. 次の JSON データを入力します

Mastering Django: Building a Secure User Authentication API from Scratch

4、[送信] をクリックします。
アクセス トークンとリフレッシュ トークンを含む JSON 応答を受信する必要があります:

Mastering Django: Building a Secure User Authentication API from Scratch

**

トラブルシューティングのヒント

**
サーバーが起動していません: 正しいディレクトリにいて、仮想環境がアクティブ化されていることを確認してください。
エンドポイント エラー: URL パスを再確認し、Django アプリが URL で正しく設定されていることを確認してください。
無効な応答: API エンドポイントとシリアライザーが正しく構成されていることを確認してください。
これらの手順に従うことで、Django 開発サーバーを正常に実行し、登録エンドポイントをテストし、トークンベースの認証を検証できるようになります。

以上がDjango をマスターする: 安全なユーザー認証 API をゼロから構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。