密码
本指南介绍了如何保存、更新和管理用户在新的在线表单中输入的密码。
概述
Chromium 有一个内置功能,允许在用户提交包含用户名和密码的新表单时记住输入的凭据。 库会询问您是否要保存凭证。
如果保存它们,下次加载表单时,库会建议自动填充它。
在这种情况下,必须启用网络表单自动填充功能。
要访问和管理所有已保存的密码,请使用 PasswordStore
,您可以使用以下方式访问:
PasswordStore passwordStore = profile.passwordStore();
val passwordStore = profile.passwordStore()
保存密码
当用户提交包含用户名和密码的新表单时,库会询问您是否要通过 SavePasswordCallback
保存凭证。 在回调中,系统会提示您保存或“永不保存”(黑名单)密码。 例如:
browser.set(SavePasswordCallback.class, (params, tell) -> tell.save());
browser.set(SavePasswordCallback::class.java,
SavePasswordCallback { params, tell -> tell.save() }
)
如果您选择保存密码,它将被添加到密码存储中。 如果选择“永不保存”,您会将此 URL 处的表单标记为黑名单。 库将不再建议您保存该网页的密码。
更新密码
当用户使用新密码提交先前提交的表单时,库会要求您通过 UpdatePasswordCallback
更新保存的凭证。 在此回调中,系统将提示您更新或忽略新的值。 例如:
browser.set(UpdatePasswordCallback.class, (params, tell) -> tell.update());
browser.set(UpdatePasswordCallback::class.java,
UpdatePasswordCallback { params, tell -> tell.update() }
)
管理密码
密码存储中的每个元素都由 PasswordRecord
表示。 它包含用户的登录名和提交表单的网页的 URL。 它不存储密码本身。
想要读取所有已保存和列入黑名单的记录,请使用:
List<PasswordRecord> allRecords = passwordStore.all();
val allRecords = passwordStore.all()
要想只读取已保存的记录,请使用:
List<PasswordRecord> allSavedRecords = passwordStore.allSaved();
val allSavedRecords = passwordStore.allSaved()
想要只读取“从未保存”(标记为黑名单)记录,请使用:
List<PasswordRecord> allNeverSavedRecords = passwordStore.allNeverSaved();
val allNeverSavedRecords = passwordStore.allNeverSaved()
想要从存储中删除所有记录,请使用:
passwordStore.clear();
passwordStore.clear()
想要删除与特定 URL 关联的记录,请使用:
passwordStore.removeByUrl(url);
passwordStore.removeByUrl(url)