Asp.Net Web API استفاده صحيح از فدراسيون WS براي برنامه وب

امیدوارم این یک نسخه کامل نیست. من خواندن مقالات و فقط نمی تواند به طور کامل سر خود را در اطراف این بسته. بسیاری از مقالات به نظر می رسد که نظرات مختلفی دارند.

من یک برنامه وب (Spacing + Backend Web Api) ساختم. در حال حاضر یک راه اندازی IDP (SSO) وجود دارد که من برای شناسایی / ادعاها و یک توالی راه انداز مسیریابی را جستجو می کنم. من از یک حافظه پنهانی در سرور استفاده می کنم تا ادعاهای کاربر وارد شده را ثبت کند و تنها GUID را در کوکی client اجرا کند. Spa نیاز به استفاده از نشانه بوت استرپ (من معتقدم که این SAML 1.0 یا 1.1 است) به سرویس های دیگر برای دسترسی به منابع است، بنابراین من یک ردگیر HTTP را برای اضافه کردن آن نشانه زمانی که لازم است.

حالا، پس از خواندن برخی از مقالات من به سختی می دانم که بهترین روش برای محافظت از برنامه وب با WS-Fed چیست.

آیا من نیاز به استفاده از کوکی ها را دارم، یا می توانم از استفاده از Token برای تأیید اعتبار در back-end خود استفاده کنم؟ من واقعا هیچ ادعایی خاصی ندارم که نیاز به بررسی داشته باشم و تا زمانی که کاربر به سیستم SSO وارد شود و دارای یک نشانه ای باشد که قبلا می تواند بسیاری از خدمات دیگر را تحت تاثیر قرار دهد.

آیا نشانه ذخیره در Spa unsafe است؟ به نظر می رسد که حتی با حفاظت ضد جعل می شود.

کوکی هایی که من استفاده می کنم به نظر می رسد "کوکی های جلسه"، اما همه چیز به طوری انتزاعی است که من حتی نمی توانم بگویم که اگر من استفاده منظم کوکی یا یک کوکی جلسه. چگونه می توانم بگویم؟

آیا تا به حال باید برچسب SAML را به هدر های سرور اضافه کنم؟ من دیگر خدمات دیده ام این کار را انجام می دهم، اما اگر در یک جلسه حضور داشته باشیم، حساس نیستیم.

هر کس که صحبت کنم به نظر می رسد فقط کاری را انجام دهد که دیگران انجام می دهند و واقعا اهداف همه چيز. من می خواهم از آن بگذرم.

بنابراین، عملیات من در حال حاضر است:

  1. کاربر URL من را می بیند. قبل از استفاده از فایل های اسپا، او از طریق SSO هدایت می شود، ادعا می کند / بلیط در سرور قفل شده است.
  2. محدودیت زمانی در ادعا / بلیط بلیط ذخیره شده است.
  3. Spa بعد از ورود به سرویس گیرنده خدمت می شود
  4. یک GUID نماینده یک بلیط ذخیره شده به عنوان یک کوکی به مشتری منتقل می شود.
  5. مشتری درخواست SAML (bootstrap) token را ذخیره می کند و آن را در یک حافظه پنهان در مشتری ذخیره می کند.
  6. مشتری در هنگام صحبت کردن تنها از GUID در هدر استفاده می کند سرور من و با استفاده از نشانه SAML / bootstrap هنگام صحبت کردن با سرویس های دیگر.
  7. زمانی که محدودیت زمانی بر روی بلیط ذخیره شده سرور ذخیره می شود، سرور درخواست ها را از IDP درخواست می کند و اگر کاربر ناموفق باشد، کاربر را مجددا مجددا راه اندازی می کند. (آیا باید از Spas انجام شود تا سرور مجبور نشود)؟