Credential Management API

Экспериментальная возможность: Это экспериментальная технология
Так как спецификация этой технологии ещё не стабилизировалась, смотрите таблицу совместимости по поводу использования в различных браузерах. Также заметьте, что синтаксис и поведение экспериментальной технологии может измениться в будущих версиях браузеров, вслед за изменениями спецификации.

The Credential Management API (API управления учётными данными) позволяет веб-сайту хранить и извлекать учётные данные пользователя, федеративного ключа и открытого ключа. Эти возможности позволяют пользователям входить в систему без ввода паролей, видеть федеративную учётную запись, которую они использовали для входа на сайт, и возобновлять сеанс без явного входа в систему с истёкшим сроком действия.

Концепции и использование учётных данных

Этот API позволяет веб-сайтам взаимодействовать с системой паролей пользовательского агента (user agent's password system), чтобы веб-сайты могли одинаково работать с учётными данными сайта, а пользовательские агенты могли оказывать лучшую поддержку в управлении своими учётными данными. Например, пользовательским агентам особенно трудно иметь дело с федеративными поставщиками удостоверений или эзотерическими механизмами входа (esoteric sign-in), которые используют больше данных, чем просто имя пользователя и пароль. Для решения этих проблем API предоставляет веб-сайту способы хранения и извлечения различных типов учётных данных. Это даёт пользователям такие возможности, как просмотр федеративной учётной записи, которую они использовали для входа на сайт, или возобновление сеанса без явного потока входа в систему с истёкшим сроком действия.

Примечание: Этот API ограничен контекстами верхнего уровня. Вызовы get() и store() внутри элемента <iframe> выполняться без эффекта.

Учётные данные, общие для поддомена

Более поздняя версия спецификации позволяет получать учётные данные из другого поддомена. Например, пароль, хранящийся в login.example.com, может использоваться для входа на www.example.com. Чтобы это использовать, пароль должен быть явно сохранён путём вызова CredentialsContainer.store(). Иногда это называют сопоставлением с общедоступным списком суффиксов (PSL); однако спецификация рекомендует использовать PSL только для определения действующей области учётных данных. Это не обязательно. Следовательно, браузеры могут различаться реализацией API.

Интерфейсы

Credential

Предоставляет информацию о сущности в качестве предварительного условия для принятия решения о доверии.

CredentialsContainer

Предоставляет методы для запроса учётных данных и уведомления пользовательского агента, когда происходят события, например успешный вход или выход. Этот интерфейс доступен в navigator.credentials.

FederatedCredential

Предоставляет информацию об учётных данных от федеративного поставщика идентификации (объект), которому веб-сайт доверяет для правильной аутентификации пользователя и который предоставляет API для этой цели. OpenID Connect является примером такой структуры.

PasswordCredential

Предоставляет информацию о паре имени пользователя и пароля.

PublicKeyCredential

Предоставляет учётные данные для входа в систему с использованием пары асимметричных ключей, устойчивых к фишингу и защите от взлома данных, вместо пароля.

Спецификации

Specification
Credential Management Level 1

Совместимость с браузерами

api.Credential

BCD tables only load in the browser

api.CredentialsContainer

BCD tables only load in the browser

api.FederatedCredential

BCD tables only load in the browser

api.PasswordCredential

BCD tables only load in the browser