1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
---
title: Credential Management API
slug: Web/API/Credential_Management_API
tags:
- API
- Credential Management API
- Landing
- NeedsContent
- Overview
- Reference
- credential management
translation_of: Web/API/Credential_Management_API
---
<p>{{DefaultAPISidebar("Credential Management API")}}{{ SeeCompatTable() }}</p>
<p class="summary">The Credential Management API (API управления учётными данными) позволяет веб-сайту хранить и извлекать учётные данные пользователя, федеративного ключа и открытого ключа. Эти возможности позволяют пользователям входить в систему без ввода паролей, видеть федеративную учётную запись, которую они использовали для входа на сайт, и возобновлять сеанс без явного входа в систему с истёкшим сроком действия.</p>
<h2 id="Концепции_и_использование_учётных_данных">Концепции и использование учётных данных</h2>
<p>Этот API позволяет веб-сайтам взаимодействовать с системой паролей пользовательского агента (user agent’s password system), чтобы веб-сайты могли одинаково работать с учётными данными сайта, а пользовательские агенты могли оказывать лучшую поддержку в управлении своими учётными данными. Например, пользовательским агентам особенно трудно иметь дело с федеративными поставщиками удостоверений или эзотерическими механизмами входа (esoteric sign-in), которые используют больше данных, чем просто имя пользователя и пароль. Для решения этих проблем API предоставляет веб-сайту способы хранения и извлечения различных типов учётных данных. Это даёт пользователям такие возможности, как просмотр федеративной учётной записи, которую они использовали для входа на сайт, или возобновление сеанса без явного потока входа в систему с истёкшим сроком действия.</p>
<div class="note">
<p>Этот API ограничен контекстами верхнего уровня. Вызовы <code>get()</code> и <code>store()</code> внутри элемента <code><iframe></code> выполняться без эффекта.</p>
</div>
<h3 id="Учётные_данные_общие_для_поддомена">Учётные данные, общие для поддомена</h3>
<p>Более поздняя версия спецификации позволяет получать учётные данные из другого поддомена. Например, пароль, хранящийся в <code>login.example.com</code>, может использоваться для входа на <code>www.example.com</code>. Чтобы это использовать, пароль должен быть явно сохранён путём вызова {{domxref("CredentialsContainer.store()")}}. Иногда это называют сопоставлением с общедоступным списком суффиксов (PSL); однако спецификация <em>рекомендует</em> использовать PSL только для определения действующей области учётных данных. Это не обязательно. Следовательно, браузеры могут различаться реализацией API.</p>
<h2 id="Интерфейсы">Интерфейсы</h2>
<dl>
<dt>{{domxref("Credential")}}</dt>
<dd>Предоставляет информацию о сущности в качестве предварительного условия для принятия решения о доверии.</dd>
<dt>{{domxref("CredentialsContainer")}}</dt>
<dd>Предоставляет методы для запроса учётных данных и уведомления пользовательского агента, когда происходят события, например успешный вход или выход. Этот интерфейс доступен в <code>navigator.credentials</code>.</dd>
<dt>{{domxref("FederatedCredential")}}</dt>
<dd>Предоставляет информацию об учётных данных от федеративного поставщика идентификации (объект), которому веб-сайт доверяет для правильной аутентификации пользователя и который предоставляет API для этой цели. <a href="http://openid.net/developers/specs/">OpenID Connect</a> является примером такой структуры.</dd>
<dt>{{domxref("PasswordCredential")}}</dt>
<dd>Предоставляет информацию о паре имени пользователя и пароля.</dd>
<dt>{{domxref("PublicKeyCredential")}}</dt>
<dd>Предоставляет учётные данные для входа в систему с использованием пары асимметричных ключей, устойчивых к фишингу и защите от взлома данных, вместо пароля.</dd>
</dl>
<h2 id="Спецификации">Спецификации</h2>
{{Specifications("api.Credential")}}
|