همه افرادی که به برنامه‌نویسی وب پرداخته‌اند، تابه‌حال نام ASP.NET را شنیده‌اند و یا با آن کارکرده‌اند. ASP.NET در حقیقت پلتفرم توسعه وب برای شرکت مایکروسافت بوده که به‌واسطه آن می‌توان وب‌اپ­‌ها و ساخت‌های پیشرفته را ساخت و از آن‌ها استفاده کرد. خیلی از مواقع افراد درباره تفاوت ASP.NET و ASP.Net core نیز سؤال‌هایی مطرح می‌کنند که در جواب به این افراد باید گفت که تفاوت این دو در این است که ASP.NET Core یک WebApi مولتی پلتفرم بوده و بر روی هر بستری قادر به انجام کار است. Jwt Token نیز استانداردی است که به انتقال اطلاعات امن بین دو طرف به‌عنوان یک شیء JSON کمک می‌کند. رمزنگاری JWT و افزایش امنیت در asp.net می‌تواند کمک بزرگی در توسعه سایت و اپلیکیشن‌های تحت وب به ما کند.

احراز هویت با JWT
احراز هویت با JWT

چرا به احراز هویت نیاز داریم؟

شاید شما نیز این تجربه را در برخی وب‌سایت‌ها داشته‌اید که برای دسترسی به برخی امکانات نیاز به ثبت نام و ورود به حساب کاربری وجود دارد. مشابه همین سیستم در سایت دانشجویار نیز وجود دارد. سوالی که پیش می‌آید این است که چطور اطلاعات مرتبط به هر کاربر را نشان دهیم؟ آیا باید به تمامی کاربران دسترسی به همه بخش‌های سایت بدهیم؟ قاعدتا باید دنبال راه‌حلی باشیم که مشکل امنیتی برای سایت ما به وجود نیاورد. راه حل آن استفاده از سیستم‌های احراز هویت است! سیستم‌هایی که در مرحله اول هویت کاربر را تعیین می‌کنند و در مرحله بعدی بررسی می‌کنند که آیا این کاربر اجازه دسترسی به آن بخش از سایت را دارد یا خیر!

دلیل برتری احراز هویت با JWT

سیستم‌های احراز هویت به صورت‌های مختلفی کار می‌کنند. روش‌های مختلفی که با الگوریتم‌های متفاوت نسبت به هم کار می‌کنند اما امنیت هر کدام از این روش‌ها برابر نیستند. در حالت کلی دو روش برای پیاده‌سازی این سیستم‌ها وجود دارد:

  1. Token Base
  2. Cookie Base

این دو روش در مکانیزم پیاده‌سازی سمت سرور شباهت‌های زیادی دارند اما در نحوه ذخیره‌سازی و دسترسی در کلاینت متفاوت هستند. از طرفی برای بحث امنیت اطلاعات هم با هم تفاوت دارند. سایت‌های زیادی با سیستم Cookie پیاده‌سازی شده‌اند اما قابل هک هستند و نمونه‌های زیادی از هک سیستم‌های Cookie گزارش شده است. اما تا به حال هیچ گزارشی مبنی بر هک شدن سیستم JWT که یک سیستم Token Base است گزارش نشده است. پس در مرحله اول به دلیل امنیت بالا و در مرحله بعد به جهت سهولت استفاده در پروژه های WebAPI که امروزه خیلی مورد استفاده قرار می‌گیرند سیستم JWT مورد توجه قرار گرفته است. از این جهت که ذخیره سازی Token در کلاینت های مختلف نظیر WebFront-end یا Mobile Applications بسیار ساده است و نیازی نیست برای هر پلتفرم روش جدایی استفاده شود. پس در این روش حجم کارها کاهش پیدا می‌کند و Token می‌تواند به عنوان راه‌حل مناسبی برای سیستم احراز هویت مورد توجه قرار بگیرد.

چرا باید در دوره آموزش احراز هویت با JWT شرکت کرد؟

همان‌طور که گفتیم این توکن به ما کمک می‌کند تا بتوانیم بهترین روش‌های نوین امنیتی را برای احراز هویت در JWT اجرایی کنیم. همین امر سبب می‌شود که کار ما حرفه‌ای‌تر و کامل‌تر باشد. دلیل انتخاب دوره احراز هویت با JWT این است که این دوره هرآنچه که درباره این استاندارد و نحوه کار با آن نیاز داشته باشید را در اختیار شما می‌گذارد و در حقیقت می‌توان گفت که این دوره یک دوره کامل و بدون هیچ عیب و نقصی می‌باشد که به‌واسطه آن به‌سادگی می‌توانید به مباحث گفته شده مسلط شوید و از هرگونه کلاس‌های خارج از این دوره بی‌نیاز شوید.

مزایای یادگیری JWT

در اینجا به دو سناریو اشاره می‌کنیم که این توکن برای ما کاربردی خواهد بود.

Authorization: این یکی از سناریوهای بسیار معمول در استفاده از JWT است. در حقیقت پس از ورود کاربر به سیستم هر درخواست بعدی شاملJWT خواهد بود.

Information Exchange: این json web token ها یکی از بهترین روش ها برای انتقال ایمن اطلاعات بین طرفین است و دلیل آن این است که با استفاده از این توکن ها می‌توان متوجه شد که آیا شخص مورد نظر همان شخصی که ادعا می‌کند هست یا خیر.

این ها دو مثال ساده از استفاده JWT در برنامه‌نویسی وب بودند.

پیش‌نیازهای دوره

این دوره به authentication و یا احراز هویت در ASP.NET core می‌پردازد پس لازمه آن دانستن دانش لازم برای کار با فریمورک ASP.NET Core است. افرادی که مشتاقند این دوره را فرابگیرند به صورت کلی لازم است یک آشنایی نسبی به موارد زیر داشته باشند.

  • آشنایی متوسط با فریمورک ASP.NET Core
  • آشنایی با اصول مقدماتی WebAPI
  • آشنایی با EF Core CodeFirst

تکنولوژی های دوره:

  • زبان برنامه نویسی سی شارپ و فریمورک asp.net core
  • Visual Studio
  • Postman
  • Microsoft Identity
  • Json Web Token

این دوره مناسب چه کسانی است؟

این دوره مناسب همه افرادی است که به امن‌تر کردن سایت‌های خود فکر می‌کنند و همچنین می‌خواهند اطلاعات خود را درباره ASP.NET core افزایش دهند. همچنین کسانی که در حال یادگیری ASP.NET core نیز هستند می‌توانند از این دوره استفاده کنند.

بازار کار احراز هویت با JWT

با استفاده از مواردی که در این دوره به شما آموزش داده می‌شود به راحتی می‌توانید پروژه‌های وب خود را با استفاده از ASP.Net Core پیاده‌سازی کنید و به استخدام شرکت‌ها و ادارات در بیایید. زیرا مبحث احراز هویت برای تمامی وب سایت‌ها مورد نیاز است. همانطور که مستحضر هستید امروزه برنامه‌نویسی وب در کشور ما به میزان بسیار زیادی طرفدار دارد و همین امر سبب شده تا پیداکردن کار برای افرادی که تخصص لازم در این حوزه را دارند، کار سختی نباشد. این دوره نیز به شما کمک می‌کند یکی از تخصص‌های موردنیاز برای رفتن به سمت بازار کار را پیدا کرده و به‌سادگی از آن استفاده کنید. لازم به ذکر است که این دوره با مفاهیم WebAPI ضبط شده است اما راه‌حل‌ها و راهکار‌ها و کدهای پیاده سازی شده عینا قابل پیاده سازی در معماری MVC نیز هست.

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

  1. دمو دوره
  2. توضیحات کلی نحوه کار سیستم های احراز هویت
  3. توضیحات کلی از نحوه کار JWT و بررسی مفاهیم آن
  4. ساخت پروژه تست و دیتابیس
  5. پیاده سازی API های Register و Login و…
  6. شروع کار با JWT و نصب و ساخت یک Token
  7. نحوه اعتبارسنجی و تعیین هویت یک کاربر با Token ارسالی
  8. توضیحات کلی درباره سیستم Microsoft Identity
  9. پیاده سازی زیر ساخت های Microsoft Identity
  10. تبدیل پروژه قبلی به پروژه جدید با استفاده از Microsoft Identity

لیست پخش دوره