پرش به محتوا
Identity

Identity (احراز هویت متمرکز)

هویت و دسترسی

احراز هویت متمرکز و صدور توکن بر پایه OAuth و OpenID Connect. نقش و دسترسی عمداً این‌جا نیست و در مدیریت کاربران و شرکت‌ها مانده است.

حوزه
زیرساخت پلتفرم / احراز هویت
مشتریان هدف
بانک‌ها و مؤسسات مالی با پنل ادمین و اپ مشتری هم‌زمان؛ تیم‌های فنی که سرویس‌های جدید به پلتفرم اضافه می‌کنند
قابلیت‌های اصلی
ورود چندکاناله (ادمین/موبایل/API)، MFA (OTP/TOTP/PIN/Passkey)، JWT با امضای نامتقارن، احراز هویت سرویس‌به‌سرویس (S2S)، چرخش Refresh Token، کلید API با محدودهٔ مسیر

Identity زیرساخت احراز هویت متمرکز کل پلتفرم است. این سرویس بر پایهٔ استاندارد OAuth 2.0 و OpenID Connect (با OpenIddict) ساخته شده و مسئولیت واحدی دارد: تشخیص هویت کاربر و صدور توکن. مدیریت نقش‌ها و دسترسی‌ها عمداً از آن جدا شده و به سرویس UserCompanyManagement سپرده شده است، به همین دلیل Identity سبک، قابل استقرار مستقل و قابل تعویض باقی می‌ماند.

توکن‌های صادرشده با امضای نامتقارن RS256 و کلید خصوصی اختصاصی این سرویس امضا می‌شوند و از طریق JWKS در اختیار سایر سرویس‌ها (به‌خصوص Gateway) قرار می‌گیرند تا اعتبارسنجی بدون تماس مستقیم با Identity انجام شود. کنار ورود کاربران انسانی، Identity کانال جداگانه‌ای برای احراز هویت ماشین‌به‌ماشین (S2S) با grant نوع client_credentials دارد که هر یک از ده‌ها میکروسرویس پلتفرم با یک کلاینت اختصاصی (مثل mic.jobspider.s2s یا mic.apigateway.s2s) و اسکوپ محدود، بدون دخالت کاربر انسانی به یکدیگر متصل می‌شوند.

ورود از چند کانال پشتیبانی می‌شود: پنل ادمین (نام کاربری/رمز)، اپ موبایل مشتری با شناسه X-Client-Id (که رمز، PIN، OTP، Passkey/WebAuthn و TOTP را پوشش می‌دهد) و کلیدهای API برای دسترسی برنامه‌نویسی با محدودهٔ مسیر (route scope) مشخص. هر ورود موفق و ناموفق، چرخش Refresh Token، و رویدادهای امنیتی در جدول‌های اختصاصی ثبت می‌شوند تا امکان ممیزی و شناسایی حملهٔ brute-force وجود داشته باشد.

برای یک خریدار سازمانی یا بانک، معنای عملی این است که هستهٔ ورود کل اپلیکیشن‌ها (پنل داخلی، اپ مشتری، و ارتباط بین سرویس‌ها) یک منبع واحد و قابل ممیزی دارد، نه پیاده‌سازی‌های پراکنده در هر سرویس.

قابلیت‌ها و امکانات کلیدی

  • ورود چندکاناله

    نام کاربری/رمز برای پنل ادمین، موبایل/کد ملی برای اپ مشتری، و شناسایی کلاینت با X-Client-Id، همه از یک نقطهٔ ورودی.

  • احراز هویت چندعاملی (MFA)

    OTP، TOTP، PIN و Passkey/WebAuthn به‌عنوان روش‌های جایگزین یا مکمل رمز عبور، با کشف خودکار روش‌های فعال هر کاربر.

  • چرخش Refresh Token و لیست سیاه

    هر استفاده از Refresh Token، توکن قبلی را باطل و توکن جدید صادر می‌کند؛ خروج از حساب (logout) و خروج همه‌جانبه (logout-all) با بررسی دو سطحی در Redis اعمال می‌شود.

  • امضای نامتقارن JWT (RS256)

    کلید خصوصی فقط در Identity است؛ سایر سرویس‌ها فقط با کلید عمومی (JWKS) توکن را اعتبارسنجی می‌کنند، بدون تماس هم‌زمان با Identity.

  • احراز هویت سرویس‌به‌سرویس (S2S)

    هر میکروسرویس با client_credentials و اسکوپ اختصاصی به سرویس‌های دیگر متصل می‌شود؛ اعتبارسنجی سخت‌گیرانهٔ issuer/audience قابل روشن/خاموش‌کردن است.

  • کلید API با محدودهٔ مسیر

    برای دسترسی برنامه‌نویسی (integration)، کلید API صادر می‌شود که می‌توان آن را به پیشوندهای مسیر خاص (مثل فقط /api/lendtech/) محدود کرد.

  • محافظت در برابر brute-force و ثبت رویداد امنیتی

    محدودیت تلاش ناموفق ورود، ردیابی نشست دستگاه، و ثبت کامل رویدادهای امنیتی برای ممیزی.

  • پاسخ چندشرکتی در ورود

    هنگام ورود، فهرست همهٔ شرکت‌های عضو کاربر با نقش هرکدام برگردانده می‌شود تا انتخاب شرکت در لایهٔ فرانت انجام شود.

ارزش کسب‌وکاری

جدا نگه‌داشتن احراز هویت از مدیریت دسترسی، تغییر یا سخت‌گیری بیشتر روی سیاست‌های ورود (مثلاً اجباری‌کردن MFA) را بدون دست‌زدن به منطق سایر سرویس‌ها ممکن می‌کند. امضای نامتقارن توکن باعث می‌شود ده‌ها سرویس بتوانند به‌صورت مستقل و بدون تماس شبکه‌ای اضافه با Identity، اعتبار هر درخواست را در چند میلی‌ثانیه بررسی کنند؛ این طراحی مستقیماً روی کارایی و پایداری کل پلتفرم زیر بار اثر می‌گذارد. کانال S2S امن به‌این معناست که یک نشت اطلاعات یا خرابی در یک سرویس، مسیر ورود به سرویس‌های دیگر را باز نمی‌کند، چون هر ارتباط ماشین‌به‌ماشین اسکوپ محدود خودش را دارد.

سناریوهای استفاده

  • بانک یا مؤسسه مالی که هم پنل عملیاتی کارکنان و هم اپ موبایل مشتری دارد و می‌خواهد هر دو از یک زیرساخت ورود امن و قابل ممیزی استفاده کنند.
  • افزودن یک میکروسرویس جدید به پلتفرم که باید بدون دخالت انسانی، با اسکوپ محدود به سرویس‌های دیگر متصل شود.
  • سازمانی که برای یکپارچه‌سازی با سیستم‌های خارجی نیاز به کلید API با دسترسی محدود به مسیرهای مشخص دارد، بدون افشای اعتبارنامهٔ کاربر واقعی.
  • بستن دسترسی همهٔ نشست‌های یک کاربر (مثلاً بعد از مشکوک‌شدن به نشت رمز) با یک عملیات logout-all.
Get in Touch

این ماژول را روی دادهٔ نمایشی ببینید

در جلسهٔ معرفی، سناریوهای سازمان شما را روی نسخهٔ نمایشی دارا مرور می‌کنیم و به پرسش‌های تیم فنی و مالی پاسخ می‌دهیم.