Современный веб направлен на создание максимально удобного, безопасного и приватного опыта взаимодействия пользователей с интернет-ресурсами. Одной из важных задач является упрощение процесса аутентификации и авторизации, при этом минимизируя риски утечки информации и потери конфиденциальности. Традиционные методы входа на сайты с использованием логина и пароля давно перестали быть максимально удобными и безопасными. Именно поэтому возрастает значение федеративной аутентификации, а вместе с ней и новые технологии, направленные на обеспечение безопасности в интернете. Одной из таких технологий является Federated Credential Management API, или FedCM, который становится новым стандартом в организации идентификации пользователей с сохранением их приватности.
Проанализируем, что представляет собой FedCM, как он работает и почему его применение столь важно для современного веба. Федеративная аутентификация подразумевает передачу функций по проверке и подтверждению личности пользователя с сайта, на котором требуется регистрация или вход, на стороннего доверенного поставщика удостоверений – Identity Provider (IdP). Это может быть популярный онлайн-сервис, например Google, Facebook, GitHub, который уже имеет у пользователя подтверждённый аккаунт. Использование такого подхода на стороне сайта, также называемого relying party (RP), позволяет снять с него ответственность за хранение паролей и снизить риски взлома аккаунтов. Пользователи получают возможность использовать уже зарегистрированные учетные записи, что значительно упрощает процесс входа и повышает удобство.
Однако в классической реализации федеративной аутентификации существовали проблемы, особенно с точки зрения конфиденциальности и безопасности. Традиционно этот процесс осуществляется через iframes, перенаправления и использование третьих сторонних cookies. Эти механизмы широко применялись и сторонними трекерами для сбора данных о поведении пользователей, что вызвало массовый отказ браузеров от их поддержки в защиту приватности. Запреты на использование третьих cookie и ограничение возможностей iframes приводят к техническим сложностям в реализации традиционных механизмов федеративной аутентификации. Именно в такой ситуации появляется необходимость в новых стандартах и технологиях, которые смогут обеспечить конфиденциальность без ущерба функциональности.
FedCM выступает именно такой инновацией. Основная идея FedCM заключается в том, чтобы предоставить разработчикам веб-приложений безопасный, удобный и прозрачный инструмент для проведения процессов федеративного входа, исключая при этом использование устаревших и проблемных с точки зрения приватности механизмов. В центре внимания находится защита данных пользователя и исключение возможности их несанкционированного трекинга. FedCM предоставляет JavaScript API, позволяющий сайту (RP) инициировать процесс выборки учетных данных пользователя у IdP и получить подтвержденную идентичность без необходимости использования сторонних cookies или сложных перенаправлений. С технической точки зрения процесс начинается с вызова метода navigator.
credentials.get() с передачей специальных параметров, обозначающих желание получить federated identity. В ответ браузер отображает специальный интерфейс, через который пользователь может выбрать учетную запись из доступных Identity Providers и подтвердить вход. Особенностью FedCM является то, что браузер выступает как посредник и хранитель пользовательских данных, гарантируя, что информация не будет передана сайтам без согласия пользователя. Такой подход значительно снижает риск утечки личных данных и исключает фоновое отслеживание пользователей сторонними сервисами.
FedCM поддерживает механизм Permissions Policy, который позволяет сайтам регулировать разрешения на использование федеративных аутентификационных функций не только в основном окне браузера, но и внутри iframe, если это необходимо. Это полезно в тех случаях, когда разработчики хотят изолировать вход и идентификацию в отдельном контексте, не предоставляя скриптам полный контроль над главной страницей. Удобство, безопасность и гибкость – ключевые достоинства FedCM. Для разработчиков IdP появление FedCM открывает новые возможности стандартизации и унификации предоставления сервисов аутентификации. IdP должен реализовать поддержку специальных интерфейсов и протоколов, которые позволяют легко и безопасно интегрироваться с расширенным API браузера.
Известный пример такой интеграции — Google Sign In, уже использующий FedCM и предоставляющий разработчикам удобный и приватный способ действовать с пользователями без необходимости сбора избыточных данных. Пользователям практически незаметно, что происходит за кулисами при использовании FedCM — они выбирают учетную запись на доверенном IdP и подтверждают вход через понятный и защищенный интерфейс браузера. Это устраняет ряд неудобств, связанных с заполнением форм, запоминанием паролей и постоянным вводом кодов подтверждения, позволяя одновременно сохранить высокий уровень безопасности и контроля над собственными данными. FedCM решает не только проблему безопасности, но и улучшает пользовательский опыт, делая процесс входа быстрым, интуитивным и надежным. За счет того, что браузер берёт на себя функции посредника, достигается уменьшение числа запросов к внешним сервисам и повышение общей производительности взаимодействия.
Большое значение имеет и совместимость FedCM с современными стандартами веб-разработки. Его спецификация открыта и развивается под контролем различных веб-сообществ, что обеспечивает стабильность, прозрачность и возможность поддержки в разных браузерах. Несмотря на экспериментальный статус технологии и ограниченную текущую поддержку, тренд на отказ от третьих cookie строго соответствует направлению развития интернет-цифровой среды, где приватность пользователей становится приоритетом. Также стоит упомянуть о том, что FedCM создаёт предпосылки для новых бизнес-моделей и сервисов, где пользователи будут контролировать, какие данные они делятся с сайтами и как происходит их аутентификация. Это открывает двери для более персонализированных и доверительных отношений между пользователями, сайтами и провайдерами идентификации.