توضیح مفهوم SSO در ساختار application ها

تو این مقاله بطور خلاصه میخواهیم درباره ساختار SSO (Single Sign-On) حرف بزنیم. SSO یک روش احراز هویت است که به کاربران این قابلیت را میدهد تا بصورت امن با چندین application و وب سایت با یک گواهینامه خاص احراز هویت کنیم. توضیح مختصر این مفهوم اینگونه است که SSO با یک ارتباط مطمئن بین یک اپلیکیشن که بعنوان یک ارائه دهنده سرویس است و یک ارائه دهنده هویت همانند OneLogin قرار میگیرد. این اطمینان رابطه از آنجا نشات میگیرد که این هویت بین identity provider و service provider جابجا میشود. این گواهینامه میتواند برای امضا کردن اطلاعاتی که از سمت identity provider به service provider باشد که این باعث میشود service provider بفهمد که این گواهینامه از منبع مطمئن آمده است. در SSO، این داده هویت از یک توکن که دارای بیت های هویتی از اطلاعاتی است درباره کاربر همچون آدرس ایمیل کاربر و نام کاربری آن.یک ورودی کلی عمدتا بصورت زیر بررسی میشود:- کاربر به صفحه یا وبسایتی که میخواهد دسترسی داشته باشد دست پیدا میکند، که بعنوان service provider آن را میشناسیم.- در این قسمت service provider یک توکن شامل اطلاعاتی (همچون آدرس ایمیل) به سیستم SSO میفرستد که ما را آنرا بعنوان Identity provider میشناسیم، که این بخشی از پاسخی تا کاربر را احراز هویت کند.- در ابتدا Identity provider بررسی میکند که آیا تا به حال کاربر احراز هویت کرده است یا خیر، که در این صورت به کاربر اجازه میدهد تا به اپلیکیشن service provider دسترسی داشته باشد و آن را به مرحله 5 میبرد.- اگر که کاربر هنوز وارد نشده است، مجبوراند تا گواهینامه که توسط identity provider نیاز است را ارائه دهند. این گواهینامه میتواند بصورت username و password باشد یا حتی میتواند شامل انواع مختلف دیگری از احراز هویت مانند One-Time Password (OTP) باشد.- هنگامی که Identity provider گواهینامه ارائه شده را تایید کند، یک توکن به service provider میفرستد که احراز هویت موفق را تایید میکند.- این توکن از سمت مرورگر کاربر به سمت Service Provider فرستاده میشود.- توکنی که توسط service provider دریافت میشود از طریق یک ارتباط مطمئن تایید میشود که این بین service provider و Identity provider در هنگام راه اندازی تنظیمات اولیه اتفاق می افتد.- کاربر اجازه دستیابی به Service provider را پیدا میکند. شماتیکی از SSO هنگامی که کاربر تلاش میکند تا به وبسایت مختلفی دسترسی داشته باشد، سایت جدید باید حتما یک رابطه مطمئن SSO تنظیم کرده باشد و این جریان احراز هویت از قدم های یکسانی پیروی میکند.توکن SSO چیست؟توکن SSO شامل اطلاعاتی است که از یک system به system دیگری در عملیات SSO انتقال داده میشود. این اطلاعات بصورت ساده میتوانند شامل آدرس ایمیل و اطلاعاتی شامل اینکه چه سیستمی توکن را ارسال میکند باشد.توکن ها بصورت دیجیتالی میتوانند امضا شوند تا تایید شود که ببینیم از چه منبع مطمئنی آمده اند. گواهینامه ای که برای این امضای دیجیتالی بکار میرود در فرایند تنظیمات اولیه اتفاق میافتد.سوالی که پیش می آید این است آیا SSO امن است؟این کاملا بستگی به شرایط خاص خود دارد.دلایل زیادی وجود دارد که SSO میتواند امنیت را ارتقا دهد. single sign-on (sso) میتواند نام کاربری و مدیریت رمزها را برای کاربران و مدیران ساده کند. کاربران دیگر نیازی نیست به دنبال مجموعه های مختلفی از گواهینامه ها باشند و خیلی راحت میتوانند به یاد بیاورند که یک رمز پیشرفته چیست. SSO این به کاربران این اجازه را میدهد تا به application ها سریع تر دسترسی داشته باشند.راه حل SSO هم اشکالاتی دارد. بعنوان مثال، امکان دارد که application هایی باشد که پایین آمده اند. به همین دلیل مهم است که فاکتور های احراز هویت بیشتری نیاز باشد، قبل از اینکه کاربر به یک اپلیکیشن خاص وارد شود یا از دسترسی کاربران به یک اپلیکیشن جلوگیری میکند مگر اینکه به شبکه امن متصل باشند.راه حل SSO چگونه اجرا میشود؟اینکه چند گام استثنایی برداشته اید مهم نیست ولی باید اهداف و جزییات را برای اجرا کردن هدف خود مشخص کردید. برای اینکار به سوالات زیر پاسخ دهید:- چند نوع مختلف از کاربران را هندل میکنید و نیازهای مختلف آنها چیست؟- آیا دنبال یک راه حل On Prem هستید یا راه حل مبتنی بر Cloud؟- آیا این راه حل میتواند با نیازهای شما و شرکت شما افزایش یابد؟- آیا نیاز به دسترسی API دارید؟انواع مختلف SSO را در زیر آورده ایم:انواع مختلفی SSO وجود دارد:- Federated Identity Management- OAuth (specifically OAuth 2.0 nowadays)- OpenID Connect(OIDC)- Security Access Markup Language (SAML)- Same Sign On (SSO)در آخر هم به مباحث مهمی پرداختیم همچون اینکه چرا Single Sign-On مهم است؟ Single Sign-on چیست؟ و ...خلاصه ای از سایت https://www.onelogin.com/learn/how-single-sign-on-works