FedCM: API فدراسیون حفظ حریم خصوصی

این صفحه مزایای FedCM، اینکه چه کسانی باید پیاده‌سازی FedCM را در نظر بگیرند و نحوه تعامل کاربران با FedCM را توضیح می‌دهد.

مدیریت اعتبارنامه فدرال (FedCM) یک رویکرد کاربرپسند و حریم خصوصی‌محور برای سرویس‌های هویت فدرال (مانند ورود با ارائه‌دهنده هویت ) است که به کوکی‌های شخص ثالث یا ریدایرکت‌های ناوبری متکی نیست.

با FedCM، کاربر روش جدیدی برای احراز هویت با یک ارائه‌دهنده هویت شخص ثالث در یک وب‌سایت در اختیار دارد.

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

فدراسیون هویت، احراز هویت یا مجوز یک فرد (کاربر یا نهاد) را به یک ارائه‌دهنده هویت خارجی (IdP) مورد اعتماد واگذار می‌کند. سپس IdP به فرد اجازه می‌دهد تا به وب‌سایت طرف متکی (RP) وارد شود. با فدراسیون هویت، یک RP برای ارائه یک حساب کاربری به کاربر بدون نیاز به نام کاربری و رمز عبور جدید، به یک IdP متکی است.

با راهکارهای هویت فدرال، کاربر نیازی به ایجاد مجموعه دیگری از اعتبارنامه‌ها برای هر RP ندارد. این امر تجربه کاربری را بهبود می‌بخشد، احتمال فیشینگ را کاهش می‌دهد و به RP کمک می‌کند تا اطلاعات تأیید شده کاربر را از ارائه دهندگان هویت معتبر دریافت کند.

راه‌حل‌های مرسوم و کوکی‌های شخص ثالث

مکانیسم‌های مرسومِ یکپارچه‌سازی هویت، به iframeها، ریدایرکت‌ها یا کوکی‌های شخص ثالث متکی هستند که باعث ایجاد نگرانی‌هایی در مورد حریم خصوصی می‌شوند. این راه‌حل‌ها می‌توانند برای ردیابی کاربران در سراسر وب مورد سوءاستفاده قرار گیرند و مرورگرها قادر به تشخیص بین سرویس‌های هویت مشروع و نظارت ناخواسته نیستند.

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

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

FedCM مستقل از پروتکل است: می‌تواند به عنوان یک راهکار مستقل یا به عنوان یک لایه اضافی که پروتکل‌های مختلف می‌توانند از آن بهره ببرند، پیاده‌سازی شود. به عنوان مثال، یک سرور OAuth کاربردی می‌تواند با پیاده‌سازی نقاط پایانی FedCM و سپس تبادل کد مجوز بازگشتی در پاسخ FedCM با یک توکن دسترسی OAuth، از تجربه ورود به سیستم با یک لمس و رابط کاربری بصری FedCM بهره‌مند شود.

چرا به FedCM نیاز داریم؟

در مقایسه با راه‌حل‌های مرسوم، این راهکار مزایای متعددی برای اکوسیستم وب ارائه می‌دهد که با در نظر گرفتن کاربر، توسعه‌دهندگان RP و IdPها طراحی شده است.

پشتیبانی از راهکارهای هویتی بدون کوکی‌های شخص ثالث

FedCM می‌تواند به کاهش وابستگی به کوکی‌های شخص ثالث که اغلب برای ردیابی کاربران در سراسر وب استفاده می‌شوند، کمک کند. این API حتی زمانی که کوکی‌های شخص ثالث در دسترس نیستند (مثلاً در حالت ناشناس)، یک تجربه ورود شخصی‌سازی‌شده ارائه می‌دهد.

FedCM همچنین با سایر APIهای Privacy Sandbox یکپارچه شده است. به عنوان مثال، API دسترسی به فضای ذخیره‌سازی از احراز هویت FedCM به عنوان یک سیگنال اعتماد استفاده می‌کند. این یکپارچه‌سازی برای وب‌سایت‌هایی که هم برای احراز هویت به FedCM و هم برای فعال کردن iframeهای بین‌منبعی برای دسترسی به فضای ذخیره‌سازی لازم، به SAA متکی هستند، مفید است.

تجربه کاربری بهبود یافته

FedCM یک رابط کاربری محاوره‌ای مبتنی بر مرورگر را برای فرآیند ورود ساده با یک لمس معرفی می‌کند. این API همچنین مشکل صفحات ورود به سیستم به‌هم‌ریخته را که گاهی اوقات مشکل NASCAR نامیده می‌شود، برطرف می‌کند.

مثالی از مشکل NASCAR: وب‌سایتی با رابط کاربری به‌هم‌ریخته که ناشی از انتخاب هفت گزینه ورود مختلف است.
مثالی از مشکل NASCAR: وب‌سایتی با رابط کاربری به‌هم‌ریخته که ناشی از انتخاب گسترده IdP است.

به جای تعداد زیادی دکمه ورود به سیستم از طریق شبکه‌های اجتماعی، FedCM رابط کاربری ساده‌تری ارائه می‌دهد.

امنیت

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

FedCM قصد دارد جریان هویت فدرال را برای کاربران راحت‌تر کند و آنها را تشویق کند که آن را به جریان‌های هویتی با امنیت کمتر ترجیح دهند.

تجربه شخصی‌سازی‌شده برای کاربران بیشتر

FedCM در طول فرآیند ثبت نام حساب کاربری، اصطکاک UX را کاهش می‌دهد. مطالعات موردی سرویس هویت گوگل نشان می‌دهد که کاربران ایجاد حساب کاربری با جریان One Tap در FedCM را به گزینه‌های ورود چند مرحله‌ای ترجیح می‌دهند.

با FedCM، IdP های بیشتری می‌توانند تجربه ورود به سیستم با یک لمس را به کاربران خود ارائه دهند. با IdP های بیشتری که جریان هویت با یک لمس را ارائه می‌دهند، کاربران می‌توانند از بین طیف وسیع‌تری از IdP ها در RP ها انتخاب کنند. FedCM با ارائه مرتبط‌ترین حساب‌ها به کاربران، مکانیسم انتخاب IdP بهبود یافته‌ای را ارائه می‌دهد.

با نرخ ثبت نام بالاتر، RPها می‌توانند تجربه شخصی‌سازی‌شده‌ای را به کاربران بیشتری ارائه دهند.

پشتیبانی از ارائه دهندگان هویت متنوع

رابط کاربری ساده‌شده‌ی FedCM قصد دارد فهرستی شخصی‌سازی‌شده از IdPهای مرتبط را در اختیار کاربران قرار دهد. با مکانیزم انتخاب IdP در FedCM، انتخاب IdPهای RP دیگر محدود به بزرگی پایگاه کاربری IdP نیست. برای مثال، بخشی از کاربران ممکن است فقط با small-idp.example حساب کاربری داشته باشند و نه با bigger-idp.example .

با ویژگی Multi-IdP، rp.example می‌تواند از هر دو small-idp.example و bigger-idp.example بدون شلوغ کردن رابط کاربری پشتیبانی کند. این به نفع همه طرفین است:

  • کاربران می‌توانند IdP مورد نظر خود را، صرف نظر از بزرگی یا کوچکی آن، انتخاب کنند.
  • RPها از طریق پشتیبانی متنوع IdP به کاربران بیشتری دسترسی پیدا می‌کنند
  • IdPهایی با تعداد کاربران کمتر، در RPهای بیشتری در دسترس هستند.

چه کسانی باید از FedCM استفاده کنند؟

ما انتظار داریم FedCM فقط در صورت وجود شرایط زیر برای شما مفید باشد:

  • شما یک ارائه‌دهنده هویت (IdP) با RP های شخص ثالث هستید.
  • شما راهکار هویتی خودتان را دارید و چندین دامنه به آن متکی هستند.
  • هدف شما پشتیبانی از جریان‌های هویت فدرال حتی برای کاربرانی است که ترجیح می‌دهند بدون کوکی‌های شخص ثالث مرور کنند.

شما یک IdP هستید

FedCM نیاز به پشتیبانی یک ارائه‌دهنده هویت دارد. یک طرف متکی نمی‌تواند به‌طور مستقل از FedCM استفاده کند. اگر شما یک RP هستید، می‌توانید از IdP خود بخواهید که دستورالعمل‌ها را ارائه دهد.

چندین RP

اگر RP های شما شخص ثالث هستند، یا بیش از چهار RP از راهکار هویتی شما استفاده می‌کنند، FedCM API پیشنهادی برای هویت فدرال است.

هدف شما پشتیبانی از جریان فدراسیون هویت بدون کوکی است

FedCM حتی برای کاربرانی که بدون کوکی‌های شخص ثالث مرور می‌کنند، از جریان‌های هویت فدرال ضروری پشتیبانی می‌کند. با FedCM، کاربران همچنان می‌توانند با حساب‌های فدرال خود در RPها ثبت نام، ورود و خروج کنند.

علاوه بر این، FedCM به عنوان یک سیگنال اعتماد برای API دسترسی به ذخیره‌سازی عمل می‌کند و اصطکاک را برای درخواست‌های دسترسی به ذخیره‌سازی که توسط IdP آغاز می‌شوند، از بین می‌برد.

تعامل کاربر با FedCM

FedCM به گونه‌ای طراحی شده است که مستقل از پروتکل احراز هویت باشد و به کاربر یک جریان جدید برای احراز هویت در یک RP با یک IdP شخص ثالث ارائه می‌دهد. FedCM را با نسخه آزمایشی ما امتحان کنید.

به یک حزب مورد اعتماد وارد شوید

کاربران می‌توانند از بین مجموعه‌ای از IdPهای پشتیبانی‌شده توسط RP، یک حساب کاربری انتخاب کنند. اگر کاربر با چندین IdP وارد سیستم شده باشد، از او خواسته می‌شود که با استفاده از یکی از آنها وارد RP شود.

حساب‌های کاربری به ترتیب زیر نمایش داده می‌شوند:

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

اگر چندین حساب کاربری در هر یک از این سطوح اولویت وجود داشته باشد، این حساب‌ها بر اساس ترتیب IdPهای ارائه شده توسط RP در فراخوانی get() مرتب می‌شوند.

حالت‌های رابط کاربری FedCM

FedCM دو حالت رابط کاربری دارد: غیرفعال و فعال .

حالت غیرفعال . حالت غیرفعال برای نمایش اعلان FedCM نیازی به تعامل کاربر ندارد. هنگامی که کاربر به وب‌سایت طرف اتکاکننده (RP) وارد می‌شود، در صورت برآورده شدن شرایط زیر، با فراخوانی تابع navigator.credentials.get() یک پنجره‌ی ورود به سیستم FedCM ظاهر می‌شود:

  • کاربر حداقل در یکی از IdP های پشتیبانی شده وارد سیستم شده است. اگر وضعیت کاربر برای همه IdP های موجود خارج از سیستم باشد، اعلان ورود به سیستم FedCM به طور خودکار نمایش داده نمی‌شود.
  • تنظیمات مربوط به زمان انتظار FedCM در مرورگر کاربر تنظیم نشده است.
  • کاربر FedCM را در تنظیمات مرورگر خود غیرفعال نکرده است. درباره نحوه انصراف کاربران از FedCM بیشتر بدانید.
کاربر به طور متوالی با IdP های مختلف در حالت غیرفعال احراز هویت می‌شود: با یکی وارد و خارج می‌شود و سپس با بعدی احراز هویت می‌شود.

حالت فعال . در حالت فعال، برای فعال کردن اعلان FedCM، یک فعال‌سازی گذرا توسط کاربر (مانند کلیک روی دکمه ورود با ... ) لازم است.

کاربری با استفاده از FedCM در حالت فعال وارد یک RP می‌شود.

کاربر می‌تواند با ضربه زدن روی «ادامه به عنوان کاربر» ورود به سیستم را تکمیل کند. در صورت موفقیت، مرورگر این واقعیت را ذخیره می‌کند که کاربر با استفاده از IdP یک حساب کاربری فدرال در RP ایجاد کرده است.

اگر کاربر در RP با IdP حساب کاربری نداشته باشد، یک کادر محاوره‌ای ثبت نام با متن افشای اطلاعات اضافی مانند شرایط خدمات و سیاست حفظ حریم خصوصی RP ظاهر می‌شود.

رعایت قوانین حریم خصوصی الکترونیکی

استفاده از FedCM، چه به عنوان IdP و چه به عنوان RP، شامل ذخیره اطلاعات در تجهیزات ترمینال کاربر یا دسترسی به اطلاعات ذخیره شده در آن است و بنابراین فعالیتی است که مشمول قوانین حریم خصوصی الکترونیکی در منطقه اقتصادی اروپا (EEA) و بریتانیا می‌شود که عموماً نیاز به رضایت کاربر دارد. این مسئولیت شماست که تعیین کنید آیا استفاده شما از FedCM برای ارائه یک سرویس آنلاین که صریحاً توسط کاربر درخواست شده است، کاملاً ضروری است و بنابراین از الزام رضایت معاف است یا خیر.

چشم انداز

ما به طور فعال در حال توسعه ویژگی‌های جدید هستیم تا محدودیت‌های فعلی را برطرف کنیم و تجربه کاربری بهتری ارائه دهیم.

  • ما در حال بررسی فرمولاسیون‌های UX بی‌صداتر هستیم تا فرآیند احراز هویت روان، شهودی و کم‌مزاحمت‌تری را برای کاربران تضمین کنیم.
  • ما به بهبود حریم خصوصی کاربران متعهد هستیم. ما قصد داریم به مدل NextGen FedCM با محوریت تفویض اختیار، که مشکل ردیابی IdP را کاهش می‌دهد، گذار کنیم. با NextGen، کاربران می‌توانند بدون اینکه IdP کاربر را دنبال کند، در RPها وارد سیستم شوند.
  • FedCM قصد دارد بر اساس انتخاب RP، انتخاب وسیع‌تری از IdPها را در اختیار کاربران قرار دهد. برای دستیابی به این هدف، ما روی Multi-IdP و APIهای ثبت IdP کار می‌کنیم.
  • ما به طور فعال در تلاشیم تا FedCM را با سایر روش‌های احراز هویت مانند Passkeys و ابزارهای اضافی مانند Autofill ادغام کنیم تا یک تجربه احراز هویت یکپارچه را ارائه دهیم.

برای جزئیات بیشتر به نقشه راه ما مراجعه کنید.