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

WBOY
リリース: 2024-08-25 06:01:06
オリジナル
152 人が閲覧しました

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

? Django の詳細:安全なユーザー認証 API をゼロから構築!

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

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

  1. Django プロジェクトをセットアップし、必須パッケージを構成する
  2. ユーザーデータのシリアライザーを作成およびカスタマイズする
  3. ユーザー登録と認証を処理するビューを構築する
  4. 安全な API アクセスのためにトークンベースの認証を実装します
  5. 私たちと一緒に空白のキャンバスを強力な認証システムに変換し、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. Klicken Sie auf Senden.

Für diesen Teil verfügt das Django-Rest Framework über eine benutzerfreundliche Benutzeroberfläche, sodass die Navigation hier einfacher ist als bei anderen.

Bei Erfolg sollten Sie eine Antwort mit dem HTTP-Statuscode 201 Created und eine JSON-Antwort mit den Benutzerdaten erhalten.

Testen Sie den Token-Authentifizierungsendpunkt

Um sicherzustellen, dass die JWT-Authentifizierung funktioniert, testen Sie den Token-Endpunkt.

Mit Postman:

  1. Erstellen Sie eine neue Anfrage: Methode: POST URL: http://127.0.0.1:8000/api/token/
  2. Wählen Sie auf der Registerkarte „Body“ das Rohformat und das JSON-Format aus.
  3. Geben Sie die folgenden JSON-Daten ein

Mastering Django: Building a Secure User Authentication API from Scratch

4, Klicken Sie auf Senden.
Sie sollten eine JSON-Antwort mit Zugriffs- und Aktualisierungstoken erhalten:

Mastering Django: Building a Secure User Authentication API from Scratch

**

Tipps zur Fehlerbehebung

**
Server startet nicht: Stellen Sie sicher, dass Sie sich im richtigen Verzeichnis befinden und Ihre virtuelle Umgebung aktiviert haben.
Endpunktfehler: Überprüfen Sie Ihre URL-Pfade noch einmal und stellen Sie sicher, dass Ihre Django-App korrekt mit den URLs eingerichtet ist.
Ungültige Antworten: Stellen Sie sicher, dass Ihre API-Endpunkte und Serialisierer korrekt konfiguriert sind.
Wenn Sie diese Schritte befolgen, sollten Sie in der Lage sein, Ihren Django-Entwicklungsserver erfolgreich auszuführen, den Registrierungsendpunkt zu testen und die tokenbasierte Authentifizierung zu überprüfen.

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

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!