Credential Management API
保存的字段不透明,所以使用的时候得放在 fetch 的 credentials 字段中。// 只能 fetch 相同主域 // 允许域响应头不能设置为 *
// 浏览器记住密码保存,Chrome 是保存在 smartlock 中(Form 提交的表单可以选择性自动填充【使用 cred API 也会】,ajax 提交的不会),按主域记录;Firefox 则是一个时直接自动填充控件(不管提交方式),记住多个时选择填充,按具体域名记录;
// top 页面,https 才有权限
包括密码认证和第三方认证(openID)
相比保存在 ls 中 可以同步密码。 // ls 不可能同步
- navigator.credentials.get() // 获取凭证
- navigator.credentials.store() // 储存凭证???
- navigator.credentials.requireUserMediation() // 退出登陆时用这个方法取消自动登陆
![](https://cdn-images.postach.io/300e62d3-c3ba-45f5-a14e-8abaf49d8e67/5f8a0b47-0404-4cc0-8d34-6e44d44edeb1/5b8e7ae3-edd6-4e93-98f1-18563027b85b.png)
store:
![](https://developers.google.com/web/updates/images/2016/04/credential-management-api/image04.png)
自动登陆:
![](https://developers.google.com/web/updates/images/2016/04/credential-management-api/image06.png)
登出:
![](https://developers.google.com/web/updates/images/2016/04/credential-management-api/image07.png)