API مدیریت اعتبار فدرال در Chrome 108 ارسال شده است، اما انتظار میرود که به تکامل خود ادامه دهد. هیچ تغییر قطعی برنامه ریزی نشده است.
این آپدیت ها برای چه کسانی هستند؟
این به روز رسانی ها برای شما هستند اگر:
- شما یک IdP هستید که از API مدیریت اعتبار فدرال استفاده می کنید.
- شما یک IdP یا RP هستید و علاقه مند به گسترش API متناسب با مورد استفاده خود هستید - به عنوان مثال شما در حال مشاهده یا شرکت در بحث های مربوط به مخزن FedID CG بوده اید و می خواهید تغییرات ایجاد شده در API را درک کنید.
- شما یک فروشنده مرورگر هستید و می خواهید وضعیت اجرای API را دنبال کنید.
اگر با این API تازه کار هستید یا هنوز آن را آزمایش نکرده اید، مقدمه API مدیریت اعتبار فدرال را بخوانید.
تغییرات
برای به روز ماندن در مورد تغییرات API FedCM، وبلاگ یا خبرنامه ما را بررسی کنید.
Chrome 125 (آوریل 2024)
- از آنجایی که مشخصات نام «نقاط پایانی فهرست حسابها» را به «نقطه پایانی حسابها» بهروزرسانی کرده است، اسناد ما بر این اساس تراز میشوند.
- نسخه آزمایشی اصلی برای Button Mode API در رایانه رومیزی Chrome 125 در دسترس است. در بهروزرسانیهای FedCM درباره آن بیشتر بیاموزید: نسخه آزمایشی اولیه API Button Mode، CORS و SameSite .
- CORS از Chrome 125 در نقطه پایانی ادعای شناسه اعمال میشود.
- Chrome فقط کوکیهایی را که صریحاً بهعنوان
SameSite=None
علامتگذاری شدهاند به نقطه پایانی ادعای شناسه و نقطه پایانی حسابها که از Chrome 125 شروع میشود ارسال میکند.
Chrome 123 (فوریه 2024)
- پشتیبانی از Domain Hint API اضافه شده است. Domain Hint API به RP ها اجازه می دهد تا یک ویژگی
domainHint
را در فراخوانی API FedCM مشخص کنند تا فقط حساب های منطبق را برای کاربر نشان دهد.
Chrome 122 (ژانويه 2024)
- پشتیبانی برای Disconnect API اضافه شده است. Disconnect API به RP ها اجازه می دهد تا بدون اتکا به کوکی های شخص ثالث، ارتباط کاربران خود را از حساب IdP قطع کنند.
- وقتی RP و IdP در یک سایت هستند، بررسی
/.well-known/web-identity
اکنون نادیده گرفته می شود. - منابع فرعی اکنون می توانند وضعیت ورود به سایت را تنظیم کنند.
Chrome 121 (دسامبر 2023)
- شرایط آرام برای شروع احراز هویت مجدد خودکار FedCM:
- ویژگی احراز هویت مجدد خودکار در FedCM تنها زمانی فعال می شود که کاربر در حال بازگشت است. این بدان معناست که کاربر باید یک بار در هر نمونه مرورگر با استفاده از FedCM وارد RP شود، قبل از اینکه احراز هویت مجدد خودکار فعال شود. این شرایط در ابتدا برای کاهش خطر ردیابهایی که تظاهر به ارائهدهنده هویت (IdP) میکنند و فریب مرورگر را برای احراز هویت مجدد خودکار کاربر بدون اطلاع یا موافقت آنها ارائه میکردند. با این حال، اگر ردیاب به کوکیهای شخص ثالث در زمینه RP دسترسی داشته باشد، این طرح نمیتواند مزیت حریم خصوصی را تضمین کند. FedCM تنها زیرمجموعه ای از قابلیت های ممکن را از طریق کوکی های شخص ثالث فراهم می کند، بنابراین اگر ردیاب از قبل به کوکی های شخص ثالث در زمینه RP دسترسی داشته باشد، دسترسی به FedCM خطر حفظ حریم خصوصی اضافی ایجاد نمی کند.
از آنجایی که استفادههای قانونی از کوکیهای شخص ثالث وجود دارد و آرام کردن شرایط باعث بهبود UX میشود، این رفتار از Chrome 121 تغییر میکند. ما تصمیم گرفتهایم محدودیتهای شرایط را کاهش دهیم تا کاربر را بهعنوان بازگشتکننده رفتار کنیم: اگر کوکیهای شخص ثالث هستند در دسترس IdP در زمینه RP، Chrome به ادعای IdP در مورد وضعیت حساب کاربر که از طریق لیستapproved_clients
مشخص شده است اعتماد می کند و در صورت وجود، احراز هویت مجدد خودکار را راه اندازی می کند. کوکیهای شخص ثالث میتوانند از طریق: تنظیمات کاربر، خطمشیهای سازمانی، روشهای اکتشافی ( Safari ، Firefox ، Chrome ) و سایر APIهای پلتفرم وب (مانند Storage Access API ) در دسترس باشند. توجه داشته باشید که وقتی IdP در آینده دسترسی به کوکیهای شخص ثالث را از دست بدهد، اگر کاربر قبلاً هرگز به طور صریح مجوز FedCM UI را اعطا نکرده باشد (مثلاً روی دکمه «ادامه بهعنوان » کلیک کنید، همچنان بهعنوان یک کاربر جدید رفتار میشود.
هیچ اقدام توسعه دهنده مورد نیاز نیست. توجه داشته باشید که اگر IdP به کوکیهای شخص ثالث دسترسی داشته باشد و ادعا کند که کاربر در گذشته یک حساب در RP ایجاد کرده است، جریان احراز هویت مجدد خودکار میتواند بیشتر با این تغییر فعال شود.
- ویژگی احراز هویت مجدد خودکار در FedCM تنها زمانی فعال می شود که کاربر در حال بازگشت است. این بدان معناست که کاربر باید یک بار در هر نمونه مرورگر با استفاده از FedCM وارد RP شود، قبل از اینکه احراز هویت مجدد خودکار فعال شود. این شرایط در ابتدا برای کاهش خطر ردیابهایی که تظاهر به ارائهدهنده هویت (IdP) میکنند و فریب مرورگر را برای احراز هویت مجدد خودکار کاربر بدون اطلاع یا موافقت آنها ارائه میکردند. با این حال، اگر ردیاب به کوکیهای شخص ثالث در زمینه RP دسترسی داشته باشد، این طرح نمیتواند مزیت حریم خصوصی را تضمین کند. FedCM تنها زیرمجموعه ای از قابلیت های ممکن را از طریق کوکی های شخص ثالث فراهم می کند، بنابراین اگر ردیاب از قبل به کوکی های شخص ثالث در زمینه RP دسترسی داشته باشد، دسترسی به FedCM خطر حفظ حریم خصوصی اضافی ایجاد نمی کند.
Chrome 120 (نوامبر 2023)
- پشتیبانی از سه ویژگی زیر در Chrome 120 اضافه شده است:
- Login Status API : Login Status API مکانیزمی است که در آن یک وب سایت، به ویژه یک IdP، وضعیت ورود کاربر خود را به مرورگر اطلاع می دهد. با این API، مرورگر میتواند درخواستهای غیرضروری را به IdP کاهش دهد و حملات احتمالی زمانبندی را کاهش دهد. Login Status API یک الزام برای FedCM است. با این تغییر، پرچم
chrome://flags/#fedcm-without-third-party-cookies
دیگر برای فعال کردن FedCM زمانی که کوکی شخص ثالث مسدود است، لازم نیست. - Error API : Error API با نشان دادن رابط کاربری مرورگر با اطلاعات خطای ارائه شده توسط IdP، کاربر را مطلع می کند.
- Auto-Selected Flag API : API Flag Auto-Selected به اشتراک میگذارد که آیا با ضربه زدن روی دکمه Continue as با IdP و RP، هر زمان که احراز هویت مجدد خودکار یا میانجیگری صریح صورت میگیرد، مجوز صریح کاربر به دست آمده است یا خیر. اشتراک گذاری تنها پس از اعطای مجوز کاربر برای ارتباطات IdP و RP انجام می شود.
- Login Status API : Login Status API مکانیزمی است که در آن یک وب سایت، به ویژه یک IdP، وضعیت ورود کاربر خود را به مرورگر اطلاع می دهد. با این API، مرورگر میتواند درخواستهای غیرضروری را به IdP کاهش دهد و حملات احتمالی زمانبندی را کاهش دهد. Login Status API یک الزام برای FedCM است. با این تغییر، پرچم
Chrome 117 (سپتامبر 2023)
- نسخه آزمایشی اولیه برای Idp Sign-In Status API در Android از Chrome 117 در دسترس است. در بهروزرسانیهای FedCM درباره آن بیشتر بدانید: IdP Sign-In Status API، راهنمای ورود، و موارد دیگر .
Chrome 116 (اوت 2023)
- پشتیبانی از سه ویژگی زیر در Chrome 116 اضافه شده است:
- Login Hint API : یک حساب کاربری ترجیحی را برای ورود به سیستم مشخص کنید.
- User Info API : اطلاعات کاربر بازگشتی را واکشی کنید تا ارائهدهنده هویت (IdP) بتواند یک دکمه ورود به سیستم شخصیشده را در یک iframe ارائه دهد.
- RP Context API : از عنوانی متفاوت از «ورود به سیستم» در گفتگوی FedCM استفاده کنید.
- Origin Trial برای IdP Sign-In Status API در دسترس است. در بهروزرسانیهای FedCM درباره آن بیشتر بیاموزید: IdP Sign-In Status API، راهنمای ورود، و موارد دیگر .
Chrome 115 (ژوئن 2023)
- پشتیبانی از احراز هویت مجدد خودکار اضافه شده است که به کاربران امکان می دهد وقتی پس از احراز هویت اولیه با استفاده از FedCM برگشتند، به طور خودکار احراز هویت مجدد را انجام دهند. این تجربه کاربر را بهبود میبخشد و احراز هویت سادهتر را برای RP پس از احراز هویت اولیه امکانپذیر میسازد. درباره احراز هویت مجدد خودکار FedCM بیشتر بیاموزید.
Chrome 110 (فوریه 2023)
- برای نقطه پایانی ادعای ID، IdP ها باید سرصفحه
Origin
را (به جای سرصفحهReferer
) بررسی کنند تا ببینند آیا مقدار با مبدا شناسه مشتری مطابقت دارد یا خیر. - پشتیبانی iframe cross-origin برای FedCM اکنون در دسترس است. جاسازیکننده باید Permissions-Policy
identity-credentials-get
را مشخص کند تا به FedCM API در iframe متقاطع جاسازی شده اجازه دهد. می توانید نمونه ای از iframe متقاطع را بررسی کنید. - یک پرچم جدید Chrome اضافه شد
chrome://flags/#fedcm-without-third-party-cookies
. با این پرچم، میتوانید عملکرد FedCM را در کروم با مسدود کردن کوکیهای شخص ثالث آزمایش کنید. از مستندات FedCM بیشتر بیاموزید.
Chrome 108 (اکتبر 2022)
- "مانیفست سطح بالا" اکنون در سند "فایل شناخته شده" نامیده می شود. هیچ تغییری در پیاده سازی مورد نیاز نیست.
- "مانیفست IdP" اکنون در سند "فایل پیکربندی" نامیده می شود. هیچ تغییری در پیاده سازی مورد نیاز نیست.
-
id_token_endpoint
در "فایل پیکربندی" بهid_assertion_endpoint
تغییر نام داده است. - درخواستها به IdP اکنون شامل یک سرصفحه
Sec-Fetch-Dest: webidentity
به جای هدرSec-FedCM-CSRF: ?1
است.
Chrome 105 (اوت 2022)
- اطلاعات امنیتی مهمی را به سند اضافه کرد. ارائهدهنده هویت (IdP) باید بررسی کند که آیا هدر
Referer
با مبدای که RP از قبل در نقطه پایانی نشانه ID ثبت شده مطابقت دارد یا خیر. - مانیفست سطح بالا از
/.well-known/fedcm.json
به/.well-known/web-identity
تغییر نام داده و URL مشخص شده درprovider_urls
باید شامل نام فایل باشد. - متدهای
login()
،logout()
وrevoke()
در نمونه هایFederatedCredential
دیگر در دسترس نیستند. - API مدیریت اعتبار فدرال اکنون از نوع جدیدی از
IdentityCredential
به جایFederatedCredential
استفاده می کند. این می تواند برای تشخیص ویژگی استفاده شود، اما در غیر این صورت یک تغییر تا حد زیادی نامرئی است. - عملکرد ورود به سیستم را از ترکیبی از
navigator.credentials.get()
وFederatedCredential.prototype.login()
بهnavigator.credentials.get()
منتقل کنید. - نقطه پایان ابطال در مانیفست دیگر قابل اجرا نیست.
- برای فراخوانی های
navigator.credentials.get()
از یک فیلدidentity
به جای یک فیلدfederated
استفاده کنید. -
url
اکنونconfigURL
است و باید URL کامل فایل JSON مانیفست به جای مسیر فراخوانیnavigator.credentials.get()
باشد. -
nonce
اکنون یک پارامتر اختیاری برایnavigator.credentials.get()
است. -
hint
دیگر به عنوان گزینه ای برایnavigator.credentials.get()
موجود نیست.
const credential = await navigator.credentials.get({
identity: {
providers: [{
configURL: 'https://idp.example/anything.json',
clientId: '********',
nonce: '******'
}]
}
});
const { token } = credential;
Chrome 104 (ژوئن 2022)
- پارامتر
consent_acquired
ارسال شده به نقطه پایانی رمز شناسه اکنونdisclosure_text_shown
است. ارزش بدون تغییر است. - نمادهای نام تجاری در مانیفست IdP پشتیبانی از تصاویر SVG را متوقف کردهاند، اما دیگر نیازی نیست که توسط خطمشی امنیت محتوای RP مجاز باشند.
Chrome 103 (مه 2022)
- از محیط های دسکتاپ پشتیبانی می کند.
- از تنظیمات per-RP روی دسکتاپ پشتیبانی می کند.
- نقطه پایانی فراداده مشتری اکنون اختیاری است. در این نقطه پایانی، URL خط مشی رازداری نیز اختیاری است.
- یک هشدار در مورد استفاده از CSP
connect-src
در سند اضافه شده است.