「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Django をマスターする: 安全なユーザー認証 API をゼロから構築する

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

2024 年 8 月 31 日に公開
ブラウズ:446

``## 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.org から Python をダウンロードしてインストールします。
  • インストール中に 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

説明:

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

ファイル: users/views.py

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

    **ビュー**: Django では、ビューはユーザー リクエストを処理するためのロジックを処理します。
  1. **RegisterView**: このビューはユーザー登録を処理します。
  2. **CreateAPIView**: 新しいレコードの作成を処理するための組み込みビュー。ここでは、新しいユーザーを作成するために使用されます。
  3. **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

説明:

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

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

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

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

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

郵便配達員の使用:

    新しいリクエストを設定します: メソッド: POST URL: http://127.0.0.1:8000/api/token/
  1. [本文]タブで、raw 形式と JSON 形式を選択します。
  2. 次の 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 開発サーバーを正常に実行し、登録エンドポイントをテストし、トークンベースの認証を検証できるようになります。

リリースステートメント この記事は次の場所に転載されています: https://dev.to/mayowakalejaiye/mastering-django-building-a-secure-user-authentication-api-from-scratch-4ma3?1 侵害がある場合は、study_golang@163 までご連絡ください。 .comを削除してください
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3