۳. RESTful API Services
یک الگو و پترن برای اپلیکشن های مدرن ، دریافت داده ها در قالب جیسان از RESTful Api ها و کار کردن با آن ها است. امروزه بیشتر اپلیکشن ها برای دولوپر ها و دیگر توسعه دهندها RESTful Api هایی ارایه میدهند. ارایه API مزایای زیادی دارد که یکی از آنها استفاده از داده ها در بیشتر از یک اپلیکشن است.روش سنتی استفاده از سشن و کوکی ها برای شناسایی کاربر دیگر در این مورد جوابگو نیست زیرا این موارد برای اپلیکشن State تعریف میکنند. یکی از اصول RESTful API ها Stateless بودن است.
۴. Performance
وقتی که در خواستی از سمت کلاینت به سرور ارسال میشود اگر مقدار زیادی داده در توکن انکود شده باشد سربار قابل توجهی را در هر درخواست HTTP ایجاد میکند. اگر چه در سشن ها به دلیل اینکه مقدار SESSION ID بسیار کوچک است ودر نتیجه سربار کمی به وجود می آورد. به مثال زیر نگاه کنید:
یک JWT دارای پنج claims مانند زیر است:
|
|
زمانی که انکود شده است ، اندازه JWT چندین برابر اندازه SESSION ID است، بنابراین در هر درخواست مقدار بسیار بیشتری سرباز نسبت به SESSION ID ایجاد میکند. در سشن ها همچنین باید در هر درخواست، در سمت سرور جستجو برای پیدا کردن و deserialize کردن سشن انجام شود.
۵ . Downstream Services
یکی از الگوهای رایج دیگری که در وب اپلیکشن های مدرن دیده میشود وابستگی اون ها به سرور های Downstream است. برای مثال، یک درخواست به اپلیکشن سرور اصلی ممکن است منجر به ایجاد یک درخواست دیگر به یک سرور Downstream شود. مشکل اینجاست که کوکی ها به راحتی نمیتوانند از این جریان عبور کنند و نمیتوانند به سرورها درباره وضعیت Authentication ( تصدیق هویت ) کاربر اطلاعی بدهند. به دلیل اینکه هر سرور Schema مختص خودش را برای کوکی ها دارد، جابجایی کوکی ها را سخت میکند و اتصال به آنها سخت است. و در اینجاست که دوباره JWT ها کار را برای ما بسیار ساده میکنند.
نتیجه پایانی
JWT ها سبک هستند و به راحتی میتوااند در پلتفرم ها و زبان های مختلف استفاده شوند. انها یک راه هوشمندانه برای authenticate و authorize بدون استفاده از سشن ها میباشند.
ممنون که خوندید. نظراتتونو با من به اشتراک بزارید. 😉 😉
منبع : ponyfoo