JWT یا احراز هویت API چیست ؟ کاربرد JWT چیست ؟
سلام دوستان. لطفا راهنمایی بفرمایید JWT چیست و کاربرد JWT در پروژه چیست ؟
پاسخ هوش مصنوعی
JWT که مخفف JSON Web Token است، یک استاندارد باز (RFC 7519) برای انتقال اطلاعات ایمن بین طرفین به صورت JSON است. این اطلاعات می تواند شامل احراز هویت و مجوزها باشد. JWT شامل سه بخش اصلی است: Header، Payload و Signature.
بخش Header نوع توکن و الگوریتم امضای مورد استفاده (مانند HMAC SHA256) را مشخص می کند.
{
"alg": "HS256",
"typ": "JWT"
}
Payload شامل اطلاعات مربوط به کاربر است که به نام Claim شناخته می شود. این بخش می تواند شامل اطلاعات مختلفی باشد، اما باید توجه داشت که هیچ اطلاعات حساسی را در این قسمت قرار ندهید، زیرا داده ها قابل رمزگشایی هستند.
{
"sub": "1234567890",
"name": "John Doe",
"iat": 1516239022
}
در نهایت، بخش Signature برای تضمین این که فرستنده توکن همان کسی است که ادعا می کند و این که توکن تغییر نکرده است، استفاده می شود.
JWT عمدتاً در احراز هویت API ها به کار می رود. پس از ورود کاربر، سرور یک JWT تولید کرده و به کاربر برمی گرداند. کاربر می تواند این توکن را در درخواست های بعدی خود به سرور ارسال کند تا هویت خود را اثبات کند. به این ترتیب، نیازی به ذخیره اطلاعات کاربر در هر درخواست وجود ندارد و باعث کاهش بار روی سرور خواهد شد.
در مجموع، مزایای استفاده از JWT عبارتند از:
- ایمنی: با امضای دیجیتال، JWT می تواند تغییرات غیرمجاز را شناسایی کند.
- عدم نیاز به ذخیره سازی حالت روی سرور: این به معنای مقیاس پذیری بهتر است.
- سازگاری با کراس دامنه: می توان JWT را در چندین دامنه مختلف استفاده کرد.
JWT چیست ؟
کلمه JWT مخفف کلمه Json Web Token هست. در واقع میشه گفت JWT یک روش استاندارد و متن باز برای به اشتراک گذاری اطلاعات و داده های مهم و امنیتی بین سرور و کلاینت می باشد.
هر بخشی از JWT شامل آبجکت های رمزنگاری شده و Encode شده از اطلاعات Json می باشد که شامل مجموعه ای از Claim ها برای شناسایی می باشد.
برای حفظ امنیت و عدم دسترسی به اطلاعات ارسال شده در صورتی که مشکل یا چالشی پیش بیاید، JWT از یک الگوریتم و روش رمزنگاری استفاده می کند که اطلاعات و همچنین شاخص های تشخیصی Claim ها را تغییر می دهد.
کاربرد Jwt چیست ؟
در توضیحات بالا تقریبا کاربرد JWT شرح داده شد. اما به صورت ملموس تر می توان گفت مهم ترین کاربر Jwt در تشخیص کاربران و یا همان Login می باشد.
روش کار Jwt چگونه است ؟
در این روش متد احراز هویت (Authentication method) یک Jwt امضا شده را در درخواست کلاینت ایجاد می کند. منظور از امضا یک توکن منحصر بفرد می باشد که در هیچ بخش دیگری از سیستم یا در هیچ درخواست دیگری در همین بخش قابل شناسایی نیست.
پس از ایجاد درخواست و توکن، کلاینت این درخواست را به یک REST API ارسال می کند. در سمت سرور این درخواست دریافت شده و REST API های موجود در سرور امضا یا توکن موجود در درخواست را با شاخص های خود بررسی کرده و در نهایت Valid یا Invalid بودن درخواست را تایید می کنند.
پس از تشخیص اطلاعات و صحت اعتبارسنجی مشخص می شود که آیا درخواست اجازه ورود دارد یا خیر
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2