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