امنیت NodeJS: آموزش JWT، مدیریت دسترسی نقش-محور و 2FA (همراه با React) - آخرین آپدیت

دانلود NodeJS Security: JWT, Role-Based Access, 2FA (/w React)

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: راهنمای جامع احراز هویت با NodeJS و React: پیاده‌سازی JWT، کنترل دسترسی نقش-محور (RBAC)، احراز هویت دو مرحله‌ای (2FA) و ابطال توکن (Revoke Token). در این دوره خواهید آموخت: - نحوه عملکرد توکن‌های Access و Refresh در JWT و مدیریت امن آن‌ها - پیاده‌سازی کامل جریان‌های ثبت‌نام، ورود و خروج از سیستم - بهترین روش‌های ذخیره‌سازی توکن‌ها در مرورگر (Cookies در مقابل LocalStorage) - محافظت از مسیرهای Backend با استفاده از Middleware و RBAC - ساخت رابط‌های کاربری نقش-محور در Frontend (داشبوردهای دسترسی) - پیاده‌سازی 2FA با استفاده از QR Code (سازگار با Google Authenticator) - استفاده از Redis برای مدیریت ذخیره‌سازی Refresh Tokenها - جریان کامل احراز هویت در Frontend با استفاده از React، React Router و Redux پیش نیازها: - آشنایی با Node.js و Express - آشنایی با React.js - دانش پایه در مورد APIها - (اختیاری اما مفید) تجربه کار با Redux و Redis

در دنیای امروز، احراز هویت امن دیگر یک انتخاب نیست، بلکه یک ضرورت است. چه در حال ساخت یک محصول استارتاپی باشید، چه روی نرم‌افزارهای سازمانی کار کنید و چه بخواهید مهارت‌های توسعه خود را تقویت کنید، دانستن نحوه پیاده‌سازی درست احراز هویت (Authentication) و تعیین سطح دسترسی (Authorization) الزامی است.

این دوره راهنمای کامل شما برای پیاده‌سازی یک سیستم احراز هویت مدرن، امن و مقیاس‌پذیر با استفاده از Node.js در Backend و React در Frontend است. ما تجربیات واقعی برای مدیریت ورود کاربر، ثبت‌نام، مسیرهای محافظت‌شده، نقش‌های کاربری و ویژگی‌های امنیتی پیشرفته مانند احراز هویت دو مرحله‌ای (2FA) را بررسی خواهیم کرد.

شما با یادگیری مبانی JWT (JSON Web Tokens) شروع می‌کنید، نحوه تولید و تایید توکن‌های access و refresh و روش‌های ذخیره‌سازی امن آن‌ها را می‌آموزید. سپس عمیقاً وارد مبحث کنترل دسترسی نقش-محور (RBAC) می‌شویم تا به کاربران مختلف بر اساس نقش‌هایی مانند مدیر (Admin)، ناظر (Moderator) یا مشتری (Customer) دسترسی‌های متفاوتی بدهیم. شما یاد می‌گیرید چگونه APIهایی بسازید که این قوانین را به صورت ایمن و بهینه اجرا کنند.

برای ارتقای سطح امنیت، احراز هویت دو مرحله‌ای (2FA) را با استفاده از TOTP پیاده‌سازی می‌کنیم. کاربران می‌توانند یک QR code را با اپلیکیشنی مانند Google Authenticator اسکن کرده و هنگام ورود، کدهای زمانی را وارد کنند که امنیت سیستم را به شدت افزایش می‌دهد.

این دوره فقط نحوه پیاده‌سازی را نشان نمی‌دهد، بلکه توضیح می‌دهد که چرا هر مرحله مهم است و چگونه از اشتباهات رایج در ساخت سیستم‌های امن جلوگیری کنید. شما بر اساس بهترین استانداردهای توسعه Backend و Frontend پیش می‌روید و مفاهیمی مانند انقضای توکن، چرخش توکن (Token Rotation)، مقایسه کوکی با LocalStorage و شناسایی استفاده مجدد از Refresh Token را درک خواهید کرد.


سرفصل ها و درس ها

مقدمه Introduction

  • مقدمه Introduction

  • دموی رفرش توکن، فراموشی و بازیابی رمز عبور Demo refresh token, forgot & reset password

  • دموی احراز هویت دو مرحله‌ای Demo two factor authentication

  • دموی کنترل دسترسی نقش-محور Demo role based-access control

راه‌اندازی محیط کدنویسی Setup Code Base

  • دانلود سورس کد Download source code

  • درک ساختار پوشه‌بندی Node API Understand Node API folder structure

  • آماده‌سازی پروژه React Prepare React Project

  • راه‌اندازی MongoDB Setup mongodb

  • رفع خطاهای MongoDB Fix mongodb error

احراز هویت با Json Web Token Authentication with Json Web Token

  • ساخت مدل کاربر (User Model) Create user model

  • تئوری JWT JWT in theory

  • ثبت‌نام (Sign Up) Sign Up

  • تولید JWT Generate JWT

  • ورود به سیستم (Sign In) Sign In

  • میدل‌ویر احراز هویت - بخش اول Authentication middleware - part 1

  • میدل‌ویر احراز هویت - بخش دوم Authentication middleware - part 2

  • میدل‌ویر احراز هویت - بخش سوم Authentication middleware - part 3

  • اتصال API به فرانت‌اند Connect API to Frontend

  • راه‌اندازی React Router Setup react router

  • راه‌اندازی Toastify Setup toastify

  • راه‌اندازی لایه API Setup API Layer

  • درک Interceptor Understand interceptor

  • آماده‌سازی صفحات محافظت‌شده Prepare protected page

  • اتصال Access Token Attach access token

  • نادیده گرفتن توکن در برخی مسیرها Ignore attach access token on some routes

  • نمایش پروفایل کاربر Show profile

  • راه‌اندازی Redux Setup redux

  • ساخت User Reducer User reducer

  • حفظ داده‌های کاربر هنگام Refresh Persist user data when refresh

  • اصلاح خطاهای TypeScript Fix typescript

  • خروج از حساب (Logout) Logout

  • مسیرهای محافظت‌شده (Protected Routes) Protected route

  • پاسخ به برخی سوالات Clearify some questions

  • پاکسازی Redux هنگام انقضای توکن Clear redux when token expired

  • مسیرهای غیرمجاز (Unauthorized) Unauthorized route

  • مدیریت صفحه ثبت‌نام Handle signup page

توکن رفرش (Refresh Token) Refresh Token

  • مقدمه‌ای بر Refresh Token Introduction to Refresh Token

  • تولید رفرش توکن Generate refresh token

  • کنترلر رفرش توکن Refresh token controller

  • درک جریان (Flow) رفرش توکن Understand refresh token flow

  • به‌روزرسانی پیام خطای API Update a api error message

  • پیاده‌سازی رفرش توکن در فرانت‌اند Refresh token on Frontend

  • درخواست اصلی (Original Request) دقیقا چیست؟ What's exactly a original request?

  • مشکل به‌روزرسانی اطلاعات کاربر The problem with update user info

  • اتصال رفرش توکن به کوکی Attach refresh token to cookie

  • مدیریت رفرش توکن از طریق کوکی Handle refresh token from cookie

  • پاکسازی رفرش توکن از کوکی Clear refresh token from cookie

فراموشی و بازیابی رمز عبور Forgot & Reset Password

  • به‌روزرسانی مدل برای بازیابی رمز عبور Update a model for reset password

  • فراموشی رمز عبور - بخش اول Forgot password - part 1

  • فراموشی رمز عبور - بخش دوم Forgot password - part 2

  • بازیابی رمز عبور Reset password

  • فراخوانی API بازیابی رمز عبور Call API Reset Password

  • مدیریت وضعیت Loading Handle loading status

  • مشکل به‌روزرسانی پروفایل Problem with update profile

کنترل دسترسی نقش-محور (RBAC) در بک‌اند Role based access control (RBAC) on Backend

  • مقدمه‌ای بر RBAC Introduction to RBAC

  • ساخت مدل برای RBAC Create model for RBAC

  • وارد کردن داده‌های اولیه دسترسی‌ها (Permissions) Seed permission data

  • وارد کردن داده‌های اولیه نقش‌ها (Roles) Seed role data

  • اختصاص نقش پیش‌فرض به کاربر جدید Assign default role to new user

  • افزودن نقش به کاربر Add role to user

  • چگونه دسترسی‌ها را بر اساس مسیر API تولید کنیم؟ How to generate permission based on API route ?

  • دریافت تمامی مسیرهای API Get all api route

  • نگاشت مسیرهای API به دسترسی‌ها Map API Routes to permissions

  • مقداردهی اولیه دسترسی‌ها Initialize permissions

  • دریافت تمامی دسترسی‌ها Get all permissions

  • به‌روزرسانی نام دسترسی Update permission name

  • افزودن دسترسی‌ها به نقش Add permissions to role

  • دریافت تمامی نقش‌ها Get all roles

  • دریافت جزئیات نقش Get role detail

  • میدل‌ویر تایید دسترسی - بخش اول Verify permission middleware - part 1

  • میدل‌ویر تایید دسترسی - بخش دوم Verify permission middleware - part 2

  • اعمال میدل‌ویر و رفع باگ‌ها Apply middleware & fix bug

  • دریافت تمامی کاربران Get all users

کنترل دسترسی نقش-محور (RBAC) در فرانت‌اند Role based access control (RBAC) on Frontend

  • آماده‌سازی صفحه دسترسی‌ها Prepare permission page

  • ساخت جدول Create a table

  • رندر کردن تمامی کاربران Render all users

  • رندر کردن تمامی نقش‌ها Render all roles

  • رندر کردن تمامی دسترسی‌ها Render all permissions

  • افزودن دسترسی کامل به مدیر Add full permission to admin

  • مودال افزودن/به‌روزرسانی دسترسی Add/Update permission modal

  • نمایش تمامی دسترسی‌ها در Dropdown Show all permisison on dropdown

  • انتخاب خودکار دسترسی پیش‌فرض Auto select default permisison

  • اصلاح رفرش توکن Fix refresh token

  • فراخوانی API برای افزودن دسترسی به نقش Call API to add permission to the role

  • مودال به‌روزرسانی نام دسترسی Update permission name modal

  • فراخوانی API برای به‌روزرسانی نام دسترسی Call API to update permisison name

  • API دریافت تمامی دسترسی‌ها بر اساس نقش API Get all permissions by roles

  • نادیده گرفتن برخی دسترسی‌ها Ingore some permissions

  • ساخت هوک usePermission usePermission hook

  • بهبود هوک usePermission Enhance usePermission hook

  • مسیرهای تعیین سطح دسترسی (Authorization) Authorization route

  • انتخاب تمامی دسترسی‌ها Select all permissions

  • سازماندهی مسیرها Organize route

احراز هویت دو مرحله‌ای (2FA) Two Factor Authentication (2FA)

  • مقدمه‌ای بر 2FA Introduction to 2FA

  • ساخت مدل‌های مورد نیاز برای 2FA Create some models for 2FA

  • API دریافت QR کد 2FA API get 2FA QR

  • API تایید OTP از طریق QR API verify OTP from QR

  • نمایش QR کد 2FA در فرانت‌اند Show 2FA QR on Frontend

  • ارسال کد OTP Submit OTP

  • حذف نشست کاربر هنگام خروج Remove user session when logout

  • صفحه الزام به 2FA Required 2FA Page

  • اصلاح ثبت‌نام و تست کلی جریان Fix sign up & test flow

ابطال توکن با Redis Revoke Token: Redis

  • پاسخ به چند سوال Answer few questions

  • جریان ابطال توکن (Revoke Token) Revoke token flow

  • API مسدود کردن کاربر (Banned User) API banned user

  • نصب و راه‌اندازی Redis Install & Setup redis

  • ساخت شناسه یکتای JWT Create unique jwt id

  • ذخیره jwtId در ساختار داده Set Store jwtId in Set Data Structure

  • ابطال توکن هنگام مسدود شدن کاربر Revoke token when banned user

  • ابطال توکن هنگام رفرش توکن Revoke token when refresh token

  • اصلاح Axios Interceptor Fix axios interceptor

  • جلوگیری از ورود در صورت مسدود بودن حساب Prevent sign in when account was banned

نمایش نظرات

امنیت NodeJS: آموزش JWT، مدیریت دسترسی نقش-محور و 2FA (همراه با React)
جزییات دوره
16.5 hours
112
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
451
4.6 از 5
دارد
دارد
دارد
Van Nguyen
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Van Nguyen Van Nguyen

توسعه دهنده وب