رفتن به محتوای اصلی
مصطفی عفتی

درباره این پلتفرم

دفتر کاری زنده برای تجربه‌های مهندسی

این پلتفرم مهندسی شخصی مصطفی عفتی است؛ جایی برای تبدیل تجربه عملی به نوشتار روشن، یادگیری ساختاریافته و محصولات دیجیتال کاربردی.

همکار دانشجویی

  • خانم زهرا احسانی

    دانشجوی سابق · مشارکت‌کننده در توسعه پلتفرم

    خانم زهرا احسانی در دوران تحصیل روی بخش‌هایی از این پلتفرم کار کرد و با مشارکت‌های دقیق و کاربردی به توسعه آن کمک کرد. خوشحالم که اینجا از کارش قدردانی می‌کنم.

اینجا چه پیدا می‌کنید

  • مقاله‌ها، کتاب‌ها، آموزش‌ها و اسنیپت‌های کاربردی.
  • دوره‌ها و مسیرهای یادگیری مبتنی بر تجربه‌های واقعی مهندسی.
  • مطالعات موردی، پروژه‌های متن‌باز، آزمایش‌ها و انتشار محصولات.

با طراحی آگاهانه

  • تجربه دو‌زبانه فارسی و انگلیسی با پشتیبانی بومی از RTL.
  • رابط‌های سازگار با تم و کیبورد، با یک زبان بصری متمرکز.
  • توسعه محتوا و محصول به‌عنوان یک سیستم یکپارچه و نسخه‌بندی‌شده.

این پلتفرم پیوسته در حال تکامل است. بعضی بخش‌ها محصولاتی کامل‌اند و برخی دیگر آزمایش‌های فعالی که هم‌زمان با پیشرفت کار بهتر می‌شوند.

معماری سرویس هویت

طراحی Identity Service از صفر — User در برابر Person، Contact، Citizenship، dual session، auth convergence، Organization، geo، و Frontend Session Edge.

Identity فراتر از Login است

طراحی Identity Service از صفر — چرا Authentication فقط بخش کوچکی از مسئله است.

چرا User و Person متفاوت‌اند

چرا حساب کاربری در سیستم‌های هویت همان انسان نیست.

Contact به‌عنوان Aggregate

چرا کانال‌های تماس نباید فیلدهای مستقیم حساب کاربری باشند.

Citizenship به‌عنوان Relationship

چرا Citizenship نباید یک فیلد تکی روی موجودیت Person باشد.

Device Session در برابر User Account Session

چرا Identity به دو لایهٔ Session نیاز دارد — اول Device، بعد Account — و این جداسازی چه تغییری در logout، theft و multi-device می‌دهد.

Refresh Token Families

Rotation و reuse detection در سطح family چگونه refresh token دزدیده‌شده را به compromise قابل‌کشف تبدیل می‌کند — برای Device و Account Session.

Authentication Convergence

OTP، email/password و OAuth باید متفاوت verify شوند — بعد یک مسیر مشترک برای provision و session establishment در دامنهٔ Identity داشته باشند.

Organizations و Location

مدل‌سازی Organization، Employee و geo به‌عنوان domain entity — نه فیلدهای free-text چسبیده به User.

Frontend Session Edge

چطور Next.js edge proxy کوکی Device و User Account را هم‌زمان نگه می‌دارد — اول resolve Device، بعد refresh Account، با single-flight برای جلوگیری از race.

منوی دستور

↑ ↓برای حرکت · Enter برای انتخاب · Esc برای بستن
ناوبری
اقدامات

Esc برای بستن · ⌘K برای باز/بسته کردن