به‌روزرسانی‌های FedCM: حالت، استفاده از سایر حساب‌ها و ویژگی‌های ادامه در Chrome 132

ناتالیا مارکوبورودووا
Natalia Markoborodova

پس از آزمایش‌های موفقیت‌آمیز در نسخه اصلی ، ما چندین به‌روزرسانی جدید FedCM را در کروم ۱۳۲ ارائه می‌دهیم: رابط برنامه‌نویسی کاربردی حالت (Mode API) ، رابط برنامه‌نویسی کاربردی استفاده از حساب‌های دیگر (Use Other Account API ) و بسته رابط برنامه‌نویسی کاربردی تداوم (Continuation API) .

حالت API

رابط برنامه‌نویسی کاربردی حالت (Mode API) امکان پیکربندی‌های مختلف حالت UX را فراهم می‌کند و یک حالت UX جدید به نام حالت فعال (active mode ) را معرفی می‌کند. حالت فعال جایگزینی برای حالت غیرفعال (passive mode ) موجود (که قبلاً با نام حالت ویجت (widget mode ) شناخته می‌شد) است که FedCM به طور پیش‌فرض از آن استفاده می‌کند.

با حالت فعال (که قبلاً با نام حالت دکمه شناخته می‌شد)، ارائه‌دهندگان هویت (IdP) می‌توانند از API FedCM استفاده کنند، حتی اگر کاربرانشان هنگام فراخوانی navigator.credentials.get() از IdP خارج شده باشند. جریان ورود به سیستم با یک حرکت کاربر مانند کلیک روی دکمه ورود با IdP آغاز می‌شود که قصد کاربر را بهتر منعکس می‌کند.

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

رابط کاربری پنجره ورود به سیستم در حالت فعال با رابط کاربری در حالت غیرفعال متفاوت است: بزرگتر، متمرکزتر و دارای آیکون‌های برند بزرگتری است.

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

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

استفاده از حساب کاربری دیگر

با استفاده از API «استفاده از حساب‌های دیگر» ، کاربران می‌توانند در صورتی که IdP از چندین حساب پشتیبانی کند یا حساب موجود را جایگزین کند، به حسابی غیر از حسابی که در حال حاضر با آن وارد سیستم شده‌اند، تغییر دهند:

پنجره‌ی حالت فعال FedCM دکمه‌ی «استفاده از حساب کاربری متفاوت» را نمایش می‌دهد.
ویژگی «استفاده از حساب دیگر» در حالت فعال: دکمه «استفاده از یک حساب دیگر» به رابط کاربری اضافه شده است.

بسته API ادامه

بسته‌ی Continuation API از کروم ۱۳۲ در دسترس است. این بسته شامل چندین ویژگی FedCM است:

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

بسته API ادامه: هنگامی که جریان ورود به سیستم آغاز می‌شود، API ادامه، URL continue_on را در یک پنجره بازشو باز می‌کند. کاربر می‌تواند قبل از ورود به RP، مجوزهای اضافی را بررسی و اعطا کند. API فیلدز، پیام رابط کاربری افشا را تغییر می‌دهد.

API ادامه

با استفاده از API Continuation ، IdP می‌تواند یک URL ریدایرکت در پاسخ نقطه پایانیِ تأیید شناسه ارائه دهد تا جریان ورود چند مرحله‌ای را فعال کند. این زمانی مفید است که IdP نیاز به درخواست اطلاعات یا مجوزهای اضافی داشته باشد، برای مثال:

  • اجازه دسترسی به منابع سمت سرور کاربر.
  • تأیید به‌روز بودن اطلاعات تماس.
  • کنترل‌های والدین.

نحوه استفاده از API Continuation را در مستندات توسعه‌دهندگان FedCM بیاموزید.

پارامترهای API

API پارامترها به RP اجازه می‌دهد تا پارامترهای کلید-مقدار اضافی را به نقطه پایانی ادعای شناسه ارائه دهد. با استفاده از API پارامترها، RPها می‌توانند پارامترهای اضافی را به IdP ارسال کنند تا مجوزهایی فراتر از ورود اولیه به سیستم را درخواست کنند.
ارسال پارامترهای اضافی می‌تواند زمانی مفید باشد که یک RP نیاز به درخواست مجوزهای اضافی، مانند آدرس صورتحساب یا دسترسی به تقویم، داشته باشد. کاربر می‌تواند این مجوزها را از طریق یک جریان UX کنترل‌شده توسط IdP که با استفاده از Continuation API راه‌اندازی می‌شود، تأیید کند و IdP سپس این اطلاعات را به اشتراک می‌گذارد.

نحوه استفاده از Parameters API را در مستندات توسعه‌دهنده بیاموزید.

API فیلدها

با استفاده از API فیلدز ، RP می‌تواند اطلاعات کاربری (هر ترکیبی از نام، آدرس ایمیل و تصویر پروفایل) مورد نیاز خود را که IdP باید با آنها به اشتراک بگذارد، مشخص کند. اطلاعات درخواستی در رابط کاربری افشای اطلاعات در پنجره FedCM گنجانده خواهد شد. کاربر پیامی را مشاهده خواهد کرد که به او اطلاع می‌دهد در صورت ورود به سیستم، idp.example اطلاعات درخواستی را با rp.example به اشتراک خواهد گذاشت.

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

برای یادگیری نحوه استفاده از Fields API به مستندات توسعه‌دهنده مراجعه کنید.

چندین configURL

چندین configURL به IdPها اجازه می‌دهند تا چندین فایل پیکربندی را برای یک IdP در خود جای دهند، با مشخص کردن accounts_endpoint و login_url در فایل شناخته شده‌ای مشابه فایل‌های پیکربندی. این ویژگی می‌تواند در این موارد مفید باشد:

  • یک IdP باید از چندین پیکربندی مختلف تست و تولید پشتیبانی کند.
  • یک IdP باید از پیکربندی‌های مختلف در هر منطقه پشتیبانی کند (برای مثال، eu-idp.example و us-idp.example ).

برای جزئیات پیاده‌سازی، به مستندات توسعه‌دهنده مراجعه کنید.

برچسب‌های حساب سفارشی

با برچسب‌های حساب کاربری سفارشی ، IdP می‌تواند حساب‌های کاربری را با برچسب‌ها حاشیه‌نویسی کند و RP می‌تواند با مشخص کردن configURL برای آن برچسب خاص، فقط حساب‌هایی با برچسب‌های خاص را دریافت کند. این می‌تواند زمانی مفید باشد که یک RP نیاز به فیلتر کردن حساب‌ها بر اساس معیارهای خاص داشته باشد، به عنوان مثال، فقط حساب‌های خاص با نقش خاص مانند developer یا hr را نمایش دهد.

مشارکت کنید و بازخورد خود را به اشتراک بگذارید

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