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
Предоставляет учетные данные для входа в систему с использованием пары асимметричных ключей, устойчивых к фишингу и защите от взлома данных, вместо пароля.

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

Спецификация Статус Комментарий
Credential Management Level 1 Рабочий черновик Первоначальное определение.
Web Authentication: An API for accessing Public Key Credentials Level 1 Рекомендация Первоначальное определение.