JavadAgha
JavadAgha
خواندن ۳ دقیقه·۷ ماه پیش

ورود یکباره به چند سیستم (SSO) چیست؟

یکی از دوستان اخیراً تجربه ناخوشایند خروج از تعدادی از وب‌سایت‌هایی که روزانه از آن‌ها استفاده می‌کند را پشت سر گذاشت. این اتفاق برای میلیون‌ها کاربر وب آشنا است و فرآیندی خسته‌کننده برای حل آن وجود دارد. این ممکن است شامل سعی در به یاد آوردن رمزهای عبور فراموش شده‌ی طولانی، یا تایپ کردن نام حیوانات خانگی دوران کودکی برای پاسخ دادن به سوالات امنیتی باشد. SSO این ناراحتی‌ها را برطرف می‌کند و زندگی آنلاین را بهبود می‌بخشد. اما چگونه کار می‌کند؟

به طور اساسی، SSO یک طرح احراز هویت است. این امکان را به کاربر می‌دهد که با استفاده از یک شناسه وارد سیستم‌های مختلف شود. دیاگرام زیر نشان می‌دهد که SSO چگونه کار می‌کند.

احرازهویت در گوگل و استفاده از تمامی سرویس های آن
احرازهویت در گوگل و استفاده از تمامی سرویس های آن

مرحله 1: کاربر به سرویس ایمیلی مثل Gmail مراجعه می‌کند. Gmail متوجه می‌شود که کاربر وارد سیستم نشده است و بنابراین کاربر را به سرور احراز هویت SSO هدایت می‌کند، که در آنجا نیز مشخص می‌شود کاربر وارد سیستم نشده است. در نتیجه، کاربر به صفحه ورود SSO هدایت می‌شود، جایی که او اطلاعات ورود خود را وارد می‌کند.

مراحل 2 تا 3: سرور احراز هویت SSO، اعتبار اطلاعات را تأیید می‌کند، نشست سراری(global session)برای کاربر ایجاد می‌کند و یک توکن ایجاد می‌کند.

مراحل 4 تا 7: Gmail توکن را در سرور احراز هویت SSO تأیید می‌کند. سرور احراز هویت، سیستم Gmail را ثبت می‌کند و نتیجه «معتبر» برمی‌گرداند. Gmail منبع محافظت‌شده را به کاربر برمی‌گرداند.

مرحله 8: از Gmail، کاربر به وب‌سایت دیگری که متعلق به Google است، مثلاً YouTubeمی‌رود.

مراحل 9 تا 10: یوتیوب متوجه می‌شود که کاربر وارد سیستم نشده است و سپس احراز هویت را درخواست می‌کند. سرور احراز هویت SSO متوجه می‌شود که کاربر قبلاً وارد شده است و توکن را برمی‌گرداند.

مراحل 11 تا 14: یوتیوب توکن را در سرور احراز هویت SSO تأیید می‌کند. سرور احراز هویت، سیستم یوتیوب را ثبت می‌کند و نتیجه «معتبر» برمی‌گرداند. یوتیوب منبع محافظت‌شده را به کاربر برمی‌گرداند.

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


سخت‌ترین بخش پیاده‌سازی SSO می‌تواند اغلب یکپارچه‌سازی با سیستم‌های موجود و ارائه‌دهندگان احراز هویت باشد. برخی از چالش‌های کلیدی عبارتند از:

  1. سازگاری و یکپارچه‌سازی: تضمین یکپارچگی روان بین SSO و برنامه‌های مختلف، پایگاه‌های داده و ارائه‌دهندگان هویت می‌تواند پیچیده باشد. سیستم‌های مختلف ممکن است از پروتکل‌ها، API‌ها و مکانیزم‌های احراز هویت متفاوتی استفاده کنند که نیاز به هماهنگی و سفارشی‌سازی دقیق دارند.
  2. مدیریت هویت: نگهداری یک پایگاه داده متمرکز هویت کاربر، مدیریت تأمین، لغو و همگام‌سازی کاربران در سیستم‌های متعدد می‌تواند چالش‌برانگیز باشد، به ویژه در سازمان‌های بزرگ یا پراکنده.
  3. پروتکل‌های احراز هویت: پیاده‌سازی و پیکربندی پروتکل‌های احراز هویت مناسب ( SAML، OAuth ، OpenID Connect) می‌تواند از لحاظ فنی پیچیده باشد و نیاز به درک عمیق از مشخصات زیربنایی و جزئیات پیاده‌سازی آنها دارد.
  4. امنیت و انطباق: تضمین اینکه SSO با الزامات امنیتی و انطباقی مانند مقررات حفاظت از داده‌ها، احراز هویت چند عاملی و ثبت رویدادها مطابقت داشته باشد، می‌تواند پیچیدگی قابل توجهی به پیاده‌سازی اضافه کند.
  5. تجربه کاربری: ارائه یک تجربه SSO یکپارچه و دوست‌داشتنی برای کاربران، به طوری که کاربران بتوانند به راحتی به برنامه‌های خود دسترسی پیدا کنند بدون اینکه مجبور به وارد کردن مجدد اطلاعات هویتی باشند، می‌تواند چالش‌برانگیز باشد، به ویژه در میان جمعیت متنوع کاربران و دستگاه‌های مختلف.
  6. مقیاس‌پذیری و در دسترس بودن بالا: طراحی زیرساخت SSO برای مدیریت بارهای کاربری فزاینده و حفظ در دسترس بودن، حتی در صورت بروز خرابی‌ها یا افزایش شدید تقاضا، می‌تواند نیازمند برنامه‌ریزی و تصمیمات معماری دقیق باشد.
  7. آزمایش و عیب‌یابی: آزمایش جامع پیاده‌سازی SSO، شامل موارد حاشیه‌ای و سناریوهای خرابی، و همچنین توانایی عیب‌یابی موثر هرگونه مشکلی که پیش می‌آید، می‌تواند زمان‌بر باشد و نیازمند تخصص ویژه‌ای باشد.

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

احراز هویتssoطراحی سیستم های نرم افزاری
کنجکاو در مباحث مهندسی نرم افزار
شاید از این پست‌ها خوشتان بیاید