هیچ دوره ای در سبد خرید شما وجود ندارد
همه افرادی که به برنامهنویسی وب پرداختهاند، تابهحال نام ASP.NET را شنیدهاند و یا با آن کارکردهاند. ASP.NET در حقیقت پلتفرم توسعه وب برای شرکت مایکروسافت بوده که بهواسطه آن میتوان وباپها و ساختهای پیشرفته را ساخت و از آنها استفاده کرد. خیلی از مواقع افراد درباره تفاوت ASP.NET و ASP.Net core نیز سؤالهایی مطرح میکنند که در جواب به این افراد باید گفت که تفاوت این دو در این است که ASP.NET Core یک WebApi مولتی پلتفرم بوده و بر روی هر بستری قادر به انجام کار است. Jwt Token نیز استانداردی است که به انتقال اطلاعات امن بین دو طرف بهعنوان یک شیء JSON کمک میکند. رمزنگاری JWT و افزایش امنیت در asp.net میتواند کمک بزرگی در توسعه سایت و اپلیکیشنهای تحت وب به ما کند.
چرا به احراز هویت نیاز داریم؟
شاید شما نیز این تجربه را در برخی وبسایتها داشتهاید که برای دسترسی به برخی امکانات نیاز به ثبت نام و ورود به حساب کاربری وجود دارد. مشابه همین سیستم در سایت دانشجویار نیز وجود دارد. سوالی که پیش میآید این است که چطور اطلاعات مرتبط به هر کاربر را نشان دهیم؟ آیا باید به تمامی کاربران دسترسی به همه بخشهای سایت بدهیم؟ قاعدتا باید دنبال راهحلی باشیم که مشکل امنیتی برای سایت ما به وجود نیاورد. راه حل آن استفاده از سیستمهای احراز هویت است! سیستمهایی که در مرحله اول هویت کاربر را تعیین میکنند و در مرحله بعدی بررسی میکنند که آیا این کاربر اجازه دسترسی به آن بخش از سایت را دارد یا خیر!
دلیل برتری احراز هویت با JWT
سیستمهای احراز هویت به صورتهای مختلفی کار میکنند. روشهای مختلفی که با الگوریتمهای متفاوت نسبت به هم کار میکنند اما امنیت هر کدام از این روشها برابر نیستند. در حالت کلی دو روش برای پیادهسازی این سیستمها وجود دارد:
- Token Base
- 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 نیز هست.
سرفصلهای دوره
- دمو دوره
- توضیحات کلی نحوه کار سیستم های احراز هویت
- توضیحات کلی از نحوه کار JWT و بررسی مفاهیم آن
- ساخت پروژه تست و دیتابیس
- پیاده سازی API های Register و Login و…
- شروع کار با JWT و نصب و ساخت یک Token
- نحوه اعتبارسنجی و تعیین هویت یک کاربر با Token ارسالی
- توضیحات کلی درباره سیستم Microsoft Identity
- پیاده سازی زیر ساخت های Microsoft Identity
- تبدیل پروژه قبلی به پروژه جدید با استفاده از Microsoft Identity
rezvani-f دانشجوی دوره
با سلام
احتراما من دوره رو تهیه کردم و خیلی خوب توضیح دادین ولی یه مشکلی وجود داره. پروژه وقتی روی لوکال هاسته بدون مشکل اجرا میشه اما وقتی روی هاست اصلی که از شرکت ایران سرور تهیه کردم می زارم، Authorization کار نمی کنه و خطای 401 نشون میده. چه تنظیماتی رو باید انجام بدیم؟
و این که سورس کد پروژه مربوط به قسمت هشتم به بعده که Microsoft Identity رو آموزش دادین و سورس کد قسمت 1 تا 7 نیست.
ممنون میشم راهنمایی بفرمایید.
سجاد سحرخوان مدرس دوره
سلام
خیلی ممنونم از لطفتون
یه چک بکنید middleware مربوط به Authorization رو توی environment های مختلف درست رجیستر کردید یا نه. توی فایل Program.cs مشخصه
رضا
متاسفانه در اکثر دوره های رایگان و غیر رایگان تست احراز هویت توسط JWT رو با نرم افزارهای تست مثل PostMan انجام دادن. در حالی که در یک پروژه واقعی ما نمی تونیم Postman رو بذاریم جلو کاربر بگیم لاگین کن. نحوه دریافت توکن، اعتبارسنجی اون و لاگین در سمت کلاینت مهم ترین بخش Jwt هست که در این دوره پیاده سازی نشده !!!
سجاد سحرخوان مدرس دوره
سلام
استفاده از JWT در هر کلاینتی امکان پذیره! و پیاده سازی اون هم مربوط میشه به تکنولوژي و stack اون کلاینت.
این دوره با تاکید بر بخش server تهیه شده.
ارتباط با سرور مربوط میشه به بحث های front که خب نه در عنوان و حتی سرفصل های این دوره جایی نداره.
کاربر دانشجوی دوره
با سلام و تشکر از آموزشتون
لطفا فایل سولوشن رو هم بگزارید تا بتونیم استفاده کنیم!!!!!!!!!!!!!!!!
سجاد سحرخوان مدرس دوره
سلام خسته نباشید
با توجه به درخواست کاربران سورس پروژه هم کنار آموزش قرار گرفت.
sunboy
بهتره قبل اینکه آموزش رو آغاز کنید یک دمو از کاری که قراره انجام بدید قرار بدید تا شخص بدونه چی قراره بخره دمویی که من دیدم کلا نظرمو عوض کرد درمورد خرید البته دوره قبلیتون هم که آنگولار بود خیلی ضعیف بود که کلا ناامیدم کرد موفق باشید
soheylakazemi
سلام بله حرف و نظر شما کاملا درسته برای دوره های که جدید منتشر میشه سعیمون این هستش که دمو قرار بدیم
سجاد سحرخوان مدرس دوره
دوست عزیز من اصلا دوره آنگولار نداشتم روی سایت :)
موفق باشید✌️
amirabbasz
با کمال احترام به آموزش دهنده و سایت
اگر یک مطلب رو حتی به رایگان میخواید ارائه بدید
انقدر خودتو پایین نیارید به خاطر کیفیت بد، اولا دوره از قسمت 6 به بعد صدا نداشت، واقعا دانشجویار نسبت به سایتای دیگه بدون فیلتر کردن آمورش هاش فعالیت میکنه و چند لول پایین تره. بازم ممنون
javad.saadaty دانشجوی دوره
سلام
لطفا فایل پروژه هم بذارید
soheilagolshan دانشجوی دوره
سلام ممنون از آموزش خوبتون
ممنون میشم فایل پروژه هم بذارید
ShayanMaster
سلام من این آموزش تهیه کردم و مفید بود فقط اینکه چطوری میشه از مدرس سوالاتو و یا اشکالات رو پرسید؟
حسن رجبیان
در همین نوشته کامنت بذارین مدرس پاسخ خواهند داد .
ali
سلام
نقش و گروه دسترسی نیز پیاده سازی شده است؟
ایا اگر کسی لاگین کند و سطح دسترسیش تغییر کند میتواند کنترل شود؟
user1
با سلام و تشکر . refresh token پیاده سازی شده؟ و نحوه فراخوانی آن ؟ ….