--- title: Credential Management API slug: Web/API/Credential_Management_API translation_of: Web/API/Credential_Management_API ---
{{APIRef("Credential Management API")}}{{ SeeCompatTable() }}
Credential Management API 允许网站存储和检索用户,联合账户和公钥证书。这些功能允许用户在不输入密码的情况下登录,查看他们曾经登录到一个站点的联合帐户,并且在会话过期且没有显式的登录流程的情况下恢复会话。
此API允许网站与用户代理的密码系统进行交互,以便网站能够以统一的方式处理站点凭证,而用户代理则可以为他们的凭证管理提供更好的帮助。例如,用户代理在处理联合身份提供程序或使用不仅仅是用户名和密码的深奥登录机制时特别困难。为了解决这些问题,Credential Management API为网站提供了存储和检索不同类型凭据的方法。这为用户提供了一些功能,比如查看他们曾经登录到某个站点的联合帐户,或者在会话过期且没有显式的登录流程的情况下恢复会话。
此API仅限于顶级上下文。在<iframe>元素中调用get()和store()将无效。
规范的更高版本允许从不同的子域检索凭证。例如,存储在login.example.com中的密码可用于登录www.example.com。要利用这一点,必须通过调用{{domxref("CredentialsContainer.store()")}}显式存储密码。这有时被称为公共后缀列表(PSL)匹配;但是规范仅建议使用PSL来确定凭证的有效范围。它(子域共享凭据)不需要它。因此浏览器的实现可能会有所不同。
Navigator.credentials
访问此接口。Specification | Status | Comment |
---|---|---|
{{SpecName('Credential Management')}} | {{Spec2('Credential Management')}} | 初步定义 |
{{SpecName('WebAuthn')}} | {{Spec2('WebAuthn')}} | 初步定义 |
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support(基础支持) | {{CompatChrome(51)}} | {{CompatNo}} | {{CompatNo}} | {{CompatOpera(44)}} | {{CompatNo}} |
Subdomain-shared credentials(子域共享凭据) | {{CompatChrome(57)}} | {{CompatNo}} | {{CompatNo}} | {{CompatOpera(44)}} | {{CompatNo}} |
Web authentication(Web身份验证) | {{CompatChrome(65)}}[1] | 60 | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
Feature | Android Webview | Chrome for Android | Firefox Mobile (Gecko) | Firefox OS | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Basic support(基础支持) | {{CompatChrome(51)}} | {{CompatChrome(51)}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatOperaMobile(44)}} | {{CompatNo}} |
Subdomain-shared credentials(子域共享凭据) | {{CompatChrome(57)}} | {{CompatChrome(57)}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatOperaMobile(44)}} | {{CompatNo}} |
Web authentication(Web身份验证) | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
[1] 在 chrome://flags#enable-webauthentication flag中。 (这仅适用于Chrome中的链接。)