همه ما دوست داریم که چگونه برنامه های بومی از شما می خواهند که فقط یک بار وارد سیستم شوید و سپس شما را به خاطر بسپارید تا زمانی که به آنها بگویید می خواهید از سیستم خارج شوید. متأسفانه وب همیشه اینطور کار نمی کند.
اکنون که دستگاهها، بهویژه دستگاههای تلفن همراه، شخصیتر شدهاند، و سایتهای بیشتری که تمام ترافیک را از طریق HTTPS ارسال میکنند خطر سرقت توکن را کاهش میدهند، وبسایتها باید در سیاستهای کوتاه مدت کوکی خود تجدید نظر کنند و جلسات طولانیتری کاربرپسندتر اتخاذ کنند.
با این حال، حتی اگر میخواهید جلسه طولانیتر شود، برخی از وبسایتها احراز هویت کاربر را در هر درخواست تأیید نمیکنند (به عبارت دیگر، پس از صدور، هیچ راهی برای لغو کوکی جلسه وجود ندارد). این معمولاً منجر به جلسات کوتاه میشود و کاربر مجبور میشود مرتباً به سیستم وارد شود تا احراز هویت مجدداً تأیید شود و به مواردی مانند تغییر رمز عبور اجازه میدهد تا جلسات موجود را در مدت زمان مشخصی باطل کند.
اگر این روشی است که شما استفاده می کنید، ما یک راه حل فنی داریم که ممکن است به شما کمک کند کوکی احراز هویت بدون حالت را مجدداً به طور خودکار تأیید کنید. این با داشتن یک توکن ثانویه با عمر طولانی کار می کند که می تواند برای تازه کردن کوکی احراز هویت کوتاه مدت موجود شما استفاده شود. استفاده از الگوی جدید Service Worker به ما این امکان را میدهد که به طور منظم با توکن طولانیمدت "چک" کنیم، احراز هویت کاربر را تأیید کنیم (به عنوان مثال، بررسی کنیم که آیا اخیراً رمز عبور خود را تغییر ندادهاند یا جلسه را لغو نکردهاند) و دوباره صادر کنیم. یک کوکی احراز هویت کوتاه مدت جدید.
یک پیشنهاد عملی برای مهاجرت به جلسات طولانی امن در وب
از اینجا، این پست تکنیک جدیدی را که ما پیشنهاد میکنیم که آن را 2-Cookie-Handoff (2CH) مینامیم، توصیف میکند. ما امیدواریم که از این مقاله برای شنیدن بازخورد جامعه در مورد اینکه آیا این رویکرد مثبت به نظر می رسد یا خیر، و اگر چنین است برای ثبت بهترین شیوه ها برای استفاده از 2CH با صنعت همکاری کنیم.
Service Workers یک فناوری جدید است که توسط چندین مرورگر مانند کروم، فایرفاکس، اپرا پشتیبانی می شود و به زودی برای Edge عرضه می شود. آنها به شما این امکان را می دهند که بدون تغییر صفحات موجود، تمام درخواست های شبکه از سایت خود را از طریق یک نقطه کد مشترک روی مشتری رهگیری کنید. این به شما امکان میدهد یک «کارگر 2CH» برای کاربرانی که وارد سیستم شدهاند راهاندازی کنید که میتواند تمام درخواستهای شبکهای که صفحه شما انجام میدهد را رهگیری کند و مانند برنامههای تلفن همراه، تعویض نشانه را انجام دهد.
اغلب اوقات سرور شما دارای یک نقطه پایانی است که توسط برنامه های تلفن همراه برای به دست آوردن یک توکن کوتاه مدت جدید استفاده می شود، معمولاً از پروتکل OAuth استفاده می کند. برای فعال کردن الگوی بالا در وب، آن نقطه پایانی فقط باید بهروزرسانی شود تا بفهمد چه زمانی توسط یک سرویسگر فراخوانی میشود و سپس یک کوکی جلسه کوتاهمدت جدید را که بهگونهای قالببندی شده است که سایر صفحات سایت قبلاً انتظار دارند، برگرداند. .
اگر سرور شما از قبل چنین نقطه پایانی ندارد، میتواند فقط برای مدیریت جلسه مرورگر ایجاد کند.
الگوی دو توکن با سرویسکاران از الگوی OAuth 2.0 پیروی میکند، اگر قبلاً یک نقطه پایانی نشانه OAuth را اجرا کردهاید، احتمالاً میتوانید از آن با سرویسکاران برای احراز هویت وب خود استفاده کنید.
همچنین ممکن است از خود بپرسید که اگر کاربر از مرورگری بازدید کند که از کارگران خدمات پشتیبانی نمی کند چه اتفاقی می افتد. اگر رویکرد فوق را اجرا کنید، آنها به سادگی هیچ تفاوتی را تجربه نخواهند کرد و به تجربه جلسات کوتاه ادامه می دهند.
ما یک نمونه مشتری و باطن منتشر کرده ایم. امیدواریم خودتان آن را امتحان کنید و به نظرسنجی در مورد مدیریت جلسه پاسخ دهید .