بعد از این درس چه کاری میتوانی انجام بدهی؟
- Access token کوتاهعمر ادعای امضاشده است؛ session id به state سرور اشاره میکند. انتخاب به نیاز لغو، مقیاس و ریسک بستگی دارد.
- نمونه را اجرا کنی و نتیجه را پیش از تغییر حدس بزنی
- یک تغییر کوچک بدهی و اثرش را در مرورگر توضیح بدهی
- خطای این درس را با DevTools یا اعتبارسنج پیدا و اصلاح کنی
اگر نتیجه عجیب بود، اول همان عنصر را در DevTools انتخاب کن؛ ساختار و قانونهای واقعاً اعمالشده از حدسزدن سریعتر راه را نشان میدهند.
چرا مهم است؟ Access token کوتاهعمر ادعای امضاشده است؛ session id به state سرور اشاره میکند. انتخاب به نیاز لغو، مقیاس و ریسک بستگی دارد.
اولین تمرین تو: زمان انقضا و حذف session هنگام logout اضافه کن. پیش از تازهکردن صفحه، نتیجه را در یک جمله حدس بزن و بعد حدست را با مرورگر مقایسه کن.
از یک مثال کوچک شروع کن
Access token کوتاهعمر ادعای امضاشده است؛ session id به state سرور اشاره میکند. انتخاب به نیاز لغو، مقیاس و ریسک بستگی دارد. نمونه کوتاه زیر را در فایل «src/auth/session-token.js» بنویس و صفحه را تازه کن. بعد از دیدن نتیجه، سراغ تغییر پیشنهادی برو؛ هدف حفظکردن نشانهها نیست، باید بفهمی کدام خط چه اثری روی صفحه گذاشت.
۱. نمونه را خودت تایپ کن
فایل را ذخیره کن و نتیجه را با انتظار این درس مقایسه کن.
۲. تغییر درس را انجام بده
زمان انقضا و حذف session هنگام logout اضافه کن.
۳. خطا را عمداً ببین
ذخیره token خام session در دیتابیس اثر نشت را بیشتر میکند؛ digest را نگه دار. سپس DevTools یا HTML Validator را باز کن و فقط همان علت را اصلاح کن.
اگر نتیجه عجیب بود، اول همان عنصر را در DevTools انتخاب کن؛ ساختار و قانونهای واقعاً اعمالشده از حدسزدن سریعتر راه را نشان میدهند.
سه قطعهای که باید بفهمی
JWT یا Session؛ مرز و trade-off
Access token کوتاهعمر ادعای امضاشده است؛ session id به state سرور اشاره میکند. انتخاب به نیاز لغو، مقیاس و ریسک بستگی دارد.
نتیجه قابل مشاهده
یک token تصادفی برای کاربر و digest جدا برای ذخیره سرور ساخته میشود.
نشانه خطا
ذخیره token خام session در دیتابیس اثر نشت را بیشتر میکند؛ digest را نگه دار.
کاربر پس از ورود باید در درخواست بعدی شناخته شود و امکان خروج یا لغو دسترسی وجود داشته باشد.
فرض کن کاربر پس از ورود باید در درخواست بعدی شناخته شود و امکان خروج یا لغو دسترسی وجود داشته باشد. صفحه باز میشود، اما هنوز این بخش برای کاربر درست و قابل فهم نیست. در این درس فقط همان قسمت را میسازیم تا رابطه کد و نتیجه گم نشود.
قطعهها را به ترتیب درست بچین
روی هر قطعه بزن تا وارد پاسخ شود؛ برای برگرداندن دوباره روی آن بزن. با دکمههای جابهجایی هم میتوانی بدون کشیدن و رهاکردن ترتیب را اصلاح کنی.
بررسی ساختار تمرین
این صفحه کامپایلر کامل Node.js نیست؛ ساختار تمرین را صادقانه بررسی میکند و خروجی مورد انتظار را نشان میدهد. برای اجرای کامل به محیط رسمی همان زبان نیاز است.
یک بخش را تغییر بده و دکمه بررسی را بزن.
راهنماییها مرحلهای هستند؛ اول خودت پیام خطا را بخوان.
زمان انقضا و حذف session هنگام logout اضافه کن. پیش از تازهکردن صفحه، نتیجه را در یک جمله حدس بزن و بعد حدست را با مرورگر مقایسه کن.
این سه اشتباه را انجام نده
ذخیره token خام session در دیتابیس اثر نشت را بیشتر میکند؛ digest را نگه دار.
تغییر چند بخش همزمان و نامشخصشدن علت نتیجه
اعتماد به ظاهر یک اندازه صفحه و بررسینکردن موبایل یا صفحهکلید
با 5 سؤال مطمئن شو که مفهوم را گرفتهای
در این درس چه چیزی باید در مرورگر دیده شود؟
چرا فقط یک بخش را تغییر میدهیم؟
اولین سرنخ خطای این درس چیست؟
بعد از تغییر کد چه کاری مفید است؟
چه زمانی آماده درس بعدی هستی؟
فهمیدی، تغییر دادی، نتیجه را توضیح دادی؟
فقط در این صورت درس را کامل کن و سراغ مرحله بعد برو.